50个常见ASP.NET面试问题和答案合集详细介绍

ASP.NET常见的面试题和答案有哪些?ASP.NET 是由 Microsoft 开发的开源 Web 应用程序框架,它是 .NET 框架的子集,是经典 Active Server Pages (ASP) 的继承者。这用于创建 Web 服务和应用程序。在这里,我们列出了 50 大ASP.NET面试问题和答案解析。问题从基础到高级。所以这些将帮助你破解面试。让我们开始吧。

50个常见ASP.NET面试问题和答案合集详细介绍

文章图片
ASP.NET面试题合集
1. ASP.NET常见问题和解析:什么是 ASP.NET?
ASP.NET(Active Server Pages .NET)是一个渐进式的新编程框架,它能够快速改进强大的 Web 应用程序和管理。它是 Microsoft .NET 平台的一部分,它提供了最简单、最通用的方法来创建、部署和运行可以专注于任何浏览器或设备的 Web 应用程序。ASP.NET 建立在 CLR(公共语言运行时)之上,它允许程序员使用任何 .NET 语言(C#、VB 等)执行其代码。它专门设计用于与 HTTP 配合使用,并为 Web 开发人员创建动态网页、Web 应用程序、网站和 Web 服务而设计,因为它提供了 HTML、CSS 和 JavaScript 的良好集成。
.NET Framework 用于创建各种应用程序和服务,如控制台、Web 和 Windows 等。但 ASP.NET 仅用于创建 Web 应用程序和 Web 服务。这就是我们将 ASP.NET 称为 .NET Framework 的一个子集的原因。
2. 写下 ASP.NET 的特性?
ASP.NET常见问题和解析 - 使 ASP.NET 在开发人员中流行的原因有很多。下面列出了一些原因:
  • 扩展 .NET Framework:    ASP.NET 是.NET Framework 的一个子集,因为它使用一些库和工具扩展了 .NET Framework 以开发 Web 应用程序。它添加到 .NET Framework 的东西是  用于常见 Web 模式的库,例如 MVC、  编辑器扩展、  处理 Web 请求的基本框架以及  Razor网页模板语法
  • 性能:  它比市场上可用的其他 Web 框架更快。
  • 后端代码:  在 ASP.NET 的帮助下,你可以在 C# 中编写用于数据访问和任何逻辑的后端代码。
  • 动态页面:  在 ASP.NET 中,Razor 提供了在 C# 和 HTML 的帮助下开发动态网页的语法。ASP.NET 可以与 JvaScript 集成,它还包括用于 SPA(单页应用程序)的 React 和 Angular 等框架。
  • 支持不同的操作系统:  你可以在 Windows、Linux、Docker 和 macOS 上开发和执行 ASP.NET 应用程序。Visual Studio 提供了使用不同操作系统构建 .NET 应用程序的工具。
3. 什么是公共语言运行时 (CLR)?
CLR 是 .NET Framework 的基本虚拟机组件。.NET Framework 中的运行时环境运行代码并通过提供各种服务(例如远程处理、线程管理、类型安全、内存管理、健壮性等)来帮助简化开发过程。基本上,它是负责管理 .NET 程序的执行,而不考虑任何 .NET 编程语言。它还有助于代码管理,因为以运行时为目标的代码称为托管代码,而不以运行时为目标的代码称为非托管代码。 
要阅读更多内容,可以参考公共语言运行时
4. 什么是 ASP.NET MVC 框架?
ASP.NET面试题合集:ASP.MVC 是一个轻量级且具有高度可测试性的 Web 应用程序框架。ASP.NET 支持 3 种不同类型的组件,即模型、视图和控制器。
  • 模型层:模型组件对应于用户使用的所有或任何与数据相关的逻辑。这将代表在视图和控制器组件之间传输的信息或其他业务逻辑相关数据。例如,客户对象将从数据库中检索客户信息,对其进行操作,并将其数据更新回数据库或使用它来呈现数据。
  • 视图层:视图组件用于设备的所有 UI 逻辑。例如,客户视图将包括最终用户与之交互的所有 UI 组件,如文本框、下拉菜单等。
  • 控制器:控制器充当模型之间的接口,并考虑组件处理所有业务逻辑和传入请求,使用模型组件操作数据,并与视图交互以呈现最终输出。例如,客户控制器将处理来自客户视图的所有交互和输入,并使用客户模型更新数据库。等效的控制器将不会查看客户数据。
5.  ASP.NET MVC 或 ASP.NET Web API哪个是正确的框架?
  • ASP.Net MVC 用于制作返回视图和数据的 Web 应用程序,但 Asp.Net Web API 用于以简单和基本的方式制作所有 HTTP 服务,只返回信息,不返回视图。
  • Web API 有助于在 .NET Framework 上构建 REST-ful 服务,并且它还支持内容协商、自我促进,这在 MVC 中没有。
  • Web API 还专门处理返回信息,如 JSON、XML 或其他一些依赖于请求中的 Accept 标头的信息,你不必为此感到压力。MVC 只是使用 Json Result 返回 JSON 设计中的信息。
6. 什么是服务器控制?
ASP.NET 具有服务器控件功能,它提供了在服务器端操作控件值的工具。这在我们想要创建验证和动态 Web 表单时特别有用。
7. web.config 文件是什么?
ASP.NET面试问题和答案解析:配置文件 (web.config) 用于监督表征网站的不同设置。这些设置存储在与应用程序代码无关的 XML 文件中。通过这种方式,你可以从代码中自由配置设置。此文件存储在应用程序根目录中。
50个常见ASP.NET面试问题和答案合集详细介绍

文章图片
8.  ASP.NET 中使用哪种编译器?
为了编译 ASP.NET 程序,.NET 框架使用了 Roslyn 编译器。
9.  ASP.NET 是开源的。解释?
ASP.NET 是一个开源 Web 框架,用于在 .NET (dotNET) 框架上构建 Web 应用程序。它由 Microsoft 制造,2002 年发布了变体 1.0,允许用户开发动态 Web 应用程序、服务和站点。该框架旨在与标准 HTTP 约定一起使用,这是所有基于 Web 的应用程序使用的标准协议。ASP.NET 是 ASP(Active Server Pages)创新的替代品,是适应性和功能方面的重大更新。它是 .NET 框架的扩展,带有额外的工具和库,用于在 Web 上构建事物,包括 Web 应用程序和网站。ASP.NET 跨板形式版本称为 ASP.NET Core,于 2016 年交付。 ASP.NET 仍在更新和支持。
10.解释一下Global.asax文件?
ASP.NET常见的面试题和答案有哪些?Global.asax 是驻留在应用程序根目录中的可选文件。此文件用于处理更高级别的应用程序事件,例如 Application_Start、Application_End、Session_Start、Session_End 等。它也被称为 ASP.NET 应用程序文件。Global.asax 包含一个代表整个应用程序的类。在运行时,该文件被解析并编译成一个动态创建的 .NET Framework 类,该类派生自 HTTP 应用程序基类。我们可以将此文件作为 ASP.NET 应用程序的 \bin 目录中的程序集传送。Global.asax 记录本身被设计为如果用户需要该文档,该请求将被拒绝。外部用户无法下载或查看其中编写的代码。
50个常见ASP.NET面试问题和答案合集详细介绍

文章图片
11. ASP.NET 支持多少种类型的服务器控件?
ASP.NET 中主要有四种不同类型的服务器端控件:
  • HTML 服务器控件
  • Web 服务器控件
  • 用户控件
  • 验证控制
12.  ASP.NET 中的“PostBack”是什么意思?
PostBack 是将 ASP.NET 页面呈现给服务器进行处理的过程。如果要根据某些来源检查页面的某些凭据(例如,使用数据库确认用户名和密钥/密码),则会完成 PostBack。这是客户端机器无法实现的,随后,这些细节必须在服务器上“回发”。所以我们可以说回发事件发生在客户端,但由服务器上运行的页面副本中的代码处理。
13.解释Web.config和Machine.config文件的区别?
以下 Web.config 和 Machine.config 文件之间存在一些主要区别:
  • machine.config 记录是你的框架上的主配置文件,有很多默认设置。Web.config 是用于网站的本地设置文件,以 XML 格式存储配置信息。
  • Machine.config 文件的设置适用于你服务器上的整个 asp.net 应用程序,而 Web.config 文件中的设置仅适用于该特定的 Web 应用程序。
  • 每个 .NET Framework 表单只有一个 machine.config 文件,同时,每个 Web 应用程序都有自己的 web.config 文件。Web 应用程序内的目录也可以包含 web.config 文件。
  • machine.config 是服务器上众多应用程序之间的共享值,而 Web.config 文档包含应用程序显式内容,例如,数据库连接字符串。
  • 假设如果你想对 web.config 进行任何改进,那么 Web 应用程序将立即加载更改,但在 machine.config 情况下,你应该重新启动应用程序。
  • machine.config 文件将在你安装 Visual Studio.Net 时自动引入,它位于 c:\windows\microsoft.net\framework\version\config 文件夹中,而 web.config 将在你制作 ASP.Net 时自动生成网络应用项目。
  • Machine.config 是 IIS 中所有应用程序的设计配置文件,但 Web。config 是特定应用程序的配置文件。
14.在ASP.NET MVC框架中写一个请求流的步骤?
ASP.NET MVC 中请求流的顺序如下:
  • 请求:在这一步中首先收到请求。之后,在 Global.asax 文件中,路由对象被添加到路由表对象中。 
  • 路由:在第二步执行路由。应用程序从客户端获取后,使用 URL 路由模块来处理请求。路由表将 URL 引导到处理程序。路由与系统协调,该系统根据路由表中可用的 URL 模式与请求的 URL 相匹配。当在模式中找到匹配项时,路由引擎将请求转移到相关的 IRouteHandler。假设在路由表中没有找到相关的提到的 URL,它将返回一个 404 HTTP 状态代码。
  • MVC 处理程序:一个 RouteHandler 负责根据收到的 RequestContext 决定将服务于请求的 HTTP 处理程序。
  • 控制器:在这一步中,控制器决定要执行哪个动作方法。
  • Action Executed:控制器实例化后,ActionInvoker 将决定需要执行哪个Action 方法。ActionNameSelectorAttribute 和 ActionMethodSelectorAttribute 方法用于选择动作方法。action 方法接收用户输入,然后执行结果并返回结果类型以供查看。 
15.解释ASP.NET中Session状态的各种模式?
  • InProc:会话存储在 Web 服务器上的应用程序进程中。根据使用的 IIS 再现,可能是 aspnet_wp.exe 或 w3wp.exe。  
  • StateServer:会话是通过使用 State Server windows 管理服务来存储的。  
  • SQLServer:SQL Server 数据库用于存储会话信息。 
  • 自定义:自定义会话状态提供程序管理所有会话状态。
16. 写下控制器动作方法的不同返回类型?
  • 查看结果
  • Javascript 结果
  • 重定向结果
  • JSON 结果
  • 内容结果
17、MVC中如何维护会话?
我们可以使用三种不同的方式在 MVC 中维护会话:
  • 临时数据
  • 查看数据
  • 查看包
18.解释GridView和DataGrid的区别?
GridViewDataGrid
它是在 Asp.Net 2.0 中引入的。它是在 Asp.Net 1.0 中引入的。
内置支持分页和排序。对于排序,你需要处理 SortCommand 事件并需要重新绑定网格,对于分页,你需要处理 PageIndexChanged 事件并需要重新绑定网格。,
内置支持更新和删除操作。需要编写代码来实现更新和删除操作。
支持自动格式或样式功能。不支持此功能。
与 DataGrid 相比,性能较慢与 GridView 相比,性能更快。
19.自定义控件和用户控件有什么区别?
20. ASP.NET 中的 Web 控件是什么?
ASP.NET常见问题和解析:Web 服务器控件比 HTML 服务器端控件更强大。唯一的区别是它们必须设置runat = ”server” 属性。此属性使控件可用于服务器端编程。每个 ASP.NET 服务器控件都能够公开包含属性、方法和事件的对象模型。ASP.NET 开发人员可以利用该对象模型来修改网页并与之交互。Web 控件包含 HTML 控件的所有基本控件以及一些新控件,如 DataGrid、DataList 和 Calendar。
网页控制                       描述                                                                        
Label代表一个标签控件
ListBox代表一个列表框控件
CheckBox代表一个复选框控件
Calendar代表一个日历控件
ImageButton代表一个图片按钮控件
TableCell代表一个表格单元格
Panel代表一个面板控件
DataList代表一个数据列表控件
TextBox代表一个文本框控件
Image代表一个图片控件
CheckBoxList表示带有复选框的列表框
Button代表一个按钮控件
HyperLink代表一个超链接控件
TableRow代表表格的一行
RadioButtonList表示带有单选按钮控件的列表框
DataGrid代表一个数据网格控件
DropDownList代表一个下拉列表控件
AdRotator代表一个广告轮播控件
RadioButton代表一个单选按钮控件
LinkButton代表一个链接按钮控件
Table代表一个表格控件
Repeater代表一个中继器控件
21. 描述 ASP 中的登录控件? 
ASP.NET 支持基于 Web 的应用程序的强大登录控件,不需要任何程序编码。这些登录控件与 ASP.NET 参与和表单身份验证相协调,以帮助对服务器网页进行自动客户端验证。默认情况下,ASP.NET 登录控件通过 HTTP 以纯文本形式工作。ASP.NET 支持不同类型的登录控件,例如:
  • 登录控制
  • 登录视图控件
  • 登录状态控制
  • 登录名控件
  • 密码恢复控制
  • 创建用户向导控件
  • 更改密码控制
50个常见ASP.NET面试问题和答案合集详细介绍

文章图片
50个常见ASP.NET面试问题和答案合集详细介绍

文章图片
22.如何解释Repeater和ListView的区别?
ASP.NET常见的面试题和答案有哪些?中继器控件派生自 Control 类。转发器只是重复模板中给出的数据。重复数据通常是与来自数据源的记录混合的 HTML 代码。中继器的输出不是预定义的。因此,Repeater 需要大部分工作来定义模板。作为回报,它为我们提供了最大的灵活性来构建布局和优化演示。
使用相同的模板和相同的数据集,Repeater 通常比 Data List 或 GridView 控件工作得更快。这主要是因为 DataReader 类,它用于只读访问。DataReader 比通常与 GridView 一起使用的 DataSet 或 DataTable 类更快。
与 GridView 和 DataList 控件相比,Repeater 的功能有限。默认情况下,Repeater 适合显示数据。如果你需要编辑数据,这不是最佳选择。此外,默认情况下,它不提供记录的分页和排序。
ListView 控件是最新的数据呈现控件,在 ASP.NET 3.5 中引入。以前的控件(Repeater、DataList 和 GridView)在逻辑上彼此跟随。例如,Repeater 最简单但速度最快,然后 DataList 功能更多但开销也更多,最后 GridView 最复杂,功能最多,但最重,因此页面上最慢。现在,有新的 ListView 控件试图从两方面提供最好的:设计的速度和灵活性,以及??许多功能,如分页、更新或删除记录等。因此,ListView 控件通常是更好的选择而不是中继器或数据列表。
23. ASP.NET 中有哪些不同的验证控件?
ASP.NET面试题合集:ASP.NET 中的验证控件是创建 Web 应用程序的重要要求之一。这些控件为验证用户输入提供了便利。通过使用这些控件,我们可以检查必填字段、范围、自定义规则、条件等。一个 asp.net 有 5 种不同类型的验证控件:
  • RequiredFieldValidator:如果我们希望用户必须填写某些必填字段,则使用此验证控件。
  • CompareValidator:此验证使用比较运算符(例如小于、大于等)将用户输入与值进行比较。
  • RangeValidator:此验证检查用户的输入值是否在某个范围内。
  • RegularExpressionValidator:它检查用户的输入字符串是否与定义的模式匹配。
  • CustomValidator:此验证用于检查用户定义的验证条件。
24. 描述 ASP 中的 loginStatus 控件? 
ASP.NET面试问题和答案解析:ASP.NET 支持基于 Web 的应用程序的强大登录控件,不需要任何程序编码。LoginStatus 控件是一个非常简单的控件,它所做的只是显示一个链接,该链接根据用户是登录还是注销而有所不同。如果用户已登录,则会显示注销链接,反之亦然。
它支持的属性很少,LogOutAction 可用于指定用户单击 LogOutLink 时发生的情况,选项包括 Redirect、RedirctToLoginPage、Refresh。如果我们将其设置为 Redirect,那么我们必须设置另一个属性 LogOutPage Url,用户在退出网站后将重定向到该属性。
< %@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication10.WebForm1" %>< !DOCTYPE html>< html xmlns="http://www.w3.org/1999/xhtml"> < head runat="server"> < title>< /title> < /head> < body> < form id="form1" runat="server"> < div> Welcome To GeeksForGeeks< br />< asp:LoginStatus ID="LoginStatus1" runat="server" ForeColor="#CC0000" LoginText="Click here for Login" /> < br /> < br />< asp:LoginStatus ID="LoginStatus2" runat="server" ForeColor="#CC0000" LoginText="Click here to Logout" /> < br /> < /div> < /form> < /body> < /html>

输出:
50个常见ASP.NET面试问题和答案合集详细介绍

文章图片
25. 为什么我们在.NET 中使用CheckBox?
此控件在 Web 窗体页上创建一个复选框,允许用户为与控件关联的项目设置 true 或 false 值。复选框的属性是:
  • Checked:如果复选框被选中,则为真,否则为假。默认值为假。
  • TextAlign:  TextAlign 是标题的位置。可能的值为右和左。默认为右对齐。
  •   文本:这定义了复选框标题。 
< %@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="WebApplication10.WebForm2" %>< !DOCTYPE html>< html xmlns="http://www.w3.org/1999/xhtml"> < head runat="server"> < title>< /title> < style type="text/css"> #form1 {} < /style> < /head> < body> < form id="form1" runat="server"> < div> < br /> Eligibility criteria for take admission in Master of Technology < br /> < /div> < asp:CheckBox ID="CheckBox1" runat="server" Text="HSC" /> < br /> < asp:CheckBox ID="CheckBox2" runat="server" Text="SSC" /> / Polytechnic< br /> < asp:CheckBox ID="CheckBox3" runat="server" Text="BE" /> < br /> < br /> < asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Submit " />< asp:Label ID="Label1" runat="server" ForeColor="Lime" Text="Label">< /asp:Label> < /form> < /body> < /html>

输出 1:
50个常见ASP.NET面试问题和答案合集详细介绍

文章图片
输出 2:
50个常见ASP.NET面试问题和答案合集详细介绍

文章图片
26.解释ASP.NET中的HTML服务器控件?
HTML 服务器控件:  HTML 元素暴露给服务器。它们公开了一个对象模型,该模型非常紧密地映射到它们呈现的 HTML 元素。你可以通过定义 runat =”server” 属性在服务器上运行这些控件。
控件描述
HtmlForm创建一个 HTML 表单控件,用作其他控件的占位符。
HtmlInputText创建用于从用户获取输入的输入文本框控件。
HtmltextArea创建多行文本框控件。
HtmlAnchor创建 Web 导航。
HtmlButton创建按钮控件。
HtmlImage创建一个图像控件,用于显示图像。
HtmlInputCheckBox创建复选框控件。
HtmlInputRadioButton创建一个单选按钮控件。
HtmlTable创建表格控件。
HtmlTableRow在表中创建一行。
HtmlTableCell在一行中创建一个单元格。
27. 你对 JIT 了解多少?
即时(JIT)编译器:即时编译器(JIT)是.NET中公共语言运行时(CLR)的一部分,负责管理.NET程序的执行,而不管任何.NET编程语言.  特定于语言的编译器将源代码转换为中间语言。然后,这种中间语言由实时 (JIT) 编译器转换为机器代码。此机器代码特定于运行 JIT 编译器的计算机环境。 
要了解更多信息,请参阅文章什么是刚刚在实时(JIT)编译器在.NET
28.什么是LINQ? 
LINQ 被称为语言集成查询,它在.NET 3.5和 Visual Studio 2008 中被引入。LINQ 的美妙之处在于它提供了.NET语言(如 C#、VB.NET 等)生成查询以检索数据的能力从数据源。例如,程序可能会从学生记录中获取信息或访问员工记录等。在过去几年中,此类数据与应用程序存储在单独的数据库中,你需要学习不同类型的查询语言才能访问此类数据,如 SQL、XML 等。而且你不能使用 C# 语言或任何其他.NET语言创建查询。
为了克服此类问题,Microsoft 开发了 LINQ。它为 C# 或.NET语言附加了一种更强大的功能,以生成对任何 LINQ 兼容数据源的查询。最好的部分是无论使用哪种类型的数据源,用于创建查询的语法都是相同的,这意味着在关系数据库中创建查询数据的语法与用于创建存储在数组中的查询数据的语法相同不需要使用 SQL 或任何其他非 .NET语言机制。你还可以将 LINQ 与 SQL、XML 文件、ADO.NET、Web 服务以及任何其他数据库一起使用。
29.  ASP.Net 中的 RedirectPermanent 是什么?
RedirectPermanent(String) 方法重载在响应中提供 301 HTTP 状态代码,并合并 URL 以转移请求。301 HTTP 状态代码是 HTTP 反应中的标准代码。它表明存在持久重定向,并给出重定向区域。
30.什么是 ASP.NET 核心?
ASP.NET Core 是 ASP.NET 的开源版本,可以在 macOS、Linux 和 Windows 上运行。ASP.NET Core 于 2016 年首次交付,是对之前仅适用于 Windows 的 ASP.NET 形式的重新规划。
2015 年 11 月,微软发布了 ASP.NET 5.0 版本,后来分离出来,称为 ASP.NET Core。同时,它被认为是对ASP.NET的一次重要的重新设计,具有开源和跨平台的特点。在此版本之前,ASP.NET 仅被视为仅适用于 Windows 的版本。
31. ASP.NET 中的 AJAX 是什么?
ASP.NET常见问题和解析:ASP.NET AJAX 的完整形式是异步 JavaScript 和 XML。ASP.NET AJAX 也称为 AJAX,是 ASP.NET 的一系列增强。它使用浏览器和网络服务器之间的异步数据传输来允许网页从服务器而不是整个页面请求少量信息。这种技术使 Internet 应用程序更小、更快、更用户友好。它由 Microsoft 创建,用于在 Web 应用程序中执行 AJAX 功能。ASP.NET AJAX 与 AJAX 库一起使用,该库利用对象排列编程 (OOP) 来加快丰富的 Web 应用程序。
32. ASP.NET 中的往返是什么?
ASP.NET常见的面试题和答案有哪些?在包含服务器端处理时,包含四个阶段:
  1. 用户从 Web 服务器请求 Web 表单。
  2. Web Server 响应上述 Web 表单。
  3. 用户输入信息并将网络表单提交给网络服务器。
  4. 然后 Web 服务器处理表单结构并将结果发送回特定用户。
现在,第 3 阶段被称为页面回发,而第 3 和第 4 阶段被统称为“往返”。我们可以说-“往返包括通过网络完全访问 Web 浏览器并获得响应。Web 应用程序使用 HTTP 来建立 Web 程序和 Web 服务器之间的对应关系。 
33.  ASP.NET 中的 Razor 是什么?
在 ASP.NET 中,Razor 提供了在 C# 和 HTML 的帮助下开发动态网页的语法。ASP.NET 可以与JS(JavaScript)集成,    它还包括用于 SPA(单页应用程序)的 React 和 Angular 等框架。
34.什么是REST架构?
REST表示RE表象小号大老牛逼ransfer.REST是不遵循任何严格的标准,但如下由Roy Fielding在2000年定义了六种约束这些约束的建筑风格-统一接口,客户端-服务器,无状态的,可缓存,分层System, Code on Demand.REST 不限于 XML,它是实现者选择使用哪种 Media-Type,如 XML、JSON、纯文本。此外,REST 可以使用 SOAP 协议,但 SOAP 不能使用 REST。REST 易于实现,并且需要较少的带宽,例如智能手机。
【50个常见ASP.NET面试问题和答案合集详细介绍】RESTful API 的架构约束:下面列出了使任何 Web 服务产生的六个架构约束:
  • 统一接口
  • 无国籍
  • 可缓存
  • 客户端服务器
  • 分层系统
  • 点播代码
35. ASP.NET 中的身份验证类型有哪些?
身份验证是根据用户的凭据检查用户身份的过程。通常,用户的凭据采用用户 ID 和密码的形式,我们从数据库或等效替代品(如果存在)中检查他们的凭据,则该用户是下一个过程(授权)的有效候选者。ASP.NET 中有不同类型的身份验证可用,即:
  • 表单认证
  • 密码认证
  • Windows 身份验证
  • 自定义身份验证
36. 什么是缓存及其不同类型?
ASP.NET面试问题和答案解析:在 Asp.Net 中,缓存方法允许存储或缓存网页输出。该技术用于避免重新创建相同数据的开销。ASP.NET 中提供了三种不同的缓存类型:
  • 页面输出缓存
  • 页面片段缓存
  • 数据缓存
如果用户请求相同的数据或信息,缓存会增加性能参数。
  • 页面输出缓存:它是通过在设计时在 .aspx 页面顶部放置一个 OutputCache 指令来实现的。
  • 数据缓存:用于快速检索应用数据,由Cache对象实现。
  • 页面片段缓存:用于通过缓存用户控件将部分 Web 表单响应存储在内存中。
37.  ASP中的查询字符串是什么?以及它的优点和缺点是什么?
QueryString 是输入到计算机 Web 浏览器的字符集合。当我们想要将值从一个页面转移到另一个页面时,它很有帮助。如果发送的数据量很大,那么我们不能使用 Request.QueryString 因为它只支持 255 个字符。我们使用 '& ' 特殊字符来分隔多个查询字符串。任何可用于调用 ASPX 页面的查询字符串都可用于被调用 ASPX 页面。
38. ASP.NET中Finalize方法有什么作用?
Finalize 技术用于在对象被销毁之前对当前对象持有的非托管资源执行清理过程。该策略得到保证,随后仅通过此类或通过派生类可用。
39.写下ASP.NET页面生命周期中所有步骤的名称?
  • 页面请求
  • 页面生命周期的开始
  • 页面初始化
  • 页面加载
  • 验证
  • 回发事件处理
  • 页面渲染
  • Unload
40. 简述网站和网页应用的区别?
Web 应用程序是一种可由浏览器访问的软件。浏览器是用于浏览互联网的应用程序。Web 应用程序需要身份验证。Web 应用程序使用服务器端脚本和客户端脚本的组合来呈现信息。它需要一个服务器来管理来自用户的请求。例如,谷歌应用
网站是包含图像、文本、音频、视频等的相关网页的集合。它可以由一页、两页和n 页组成。网站提供用户可以查看和阅读的视觉和文本内容。查看网站需要浏览器(chrome、firefox)。有很多类型的网站,如档案网站、博客、社区网站、约会网站等,例如亚马逊、youtube 等。
41. 解释视图状态? 
视图状态是ASP的方法。NET页面框架用于在往返之间保留页面和控制值。
< %@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm4.aspx.cs" Inherits="WebApplication9.WebForm4" %>< !DOCTYPE html>< html xmlns="http://www.w3.org/1999/xhtml"> < head runat="server"> < title>< /title> < /head> < body> < form id="form1" runat="server">< div> < h6>Example of View State:< /B>< /h6> < p>< B>< I>< U>WELCOME TO GEEKSFORGEEKS< /B>< /I>< /U>< /p>Page Counter:< br /> < br />< asp:Label ID="lblCounter" runat="server" /> < br /> < br /> < br /> < asp:Button ID="btnIncrement" runat="server" Text="Number of Visitors Count" OnClientClick="btnIncrement_Click"/> < /div> < /form> < /body> < /html>

输出:
50个常见ASP.NET面试问题和答案合集详细介绍

文章图片
42. 解释 ASP.NET 中的 Cookies?
Cookie 可以定义为一小段信息,可以通过服务器程序发送到浏览器并由互联网浏览器存储。然后,Internet 浏览器每次从该服务器发出请求时,都会将 Cookie 传递回该服务器。这对于允许验证/身份验证特别有用。
  假设,当用户登录受密码限制的系统时,cookie 存储用户信息(用户名、密码)。因此,客户无需为他们希望下载的每个新页面重新输入详细信息。cookie 属性获取客户端 cookie 变量的集合。
43. 解释一下 ASP.NET 中 Web 服务的用途?
Web 服务是一个 Web 应用程序,它基本上是一个由不同应用程序可以使用的方法组成的类。它同样遵循代码隐藏设计,例如 ASP.NET 页面,尽管它没有用户界面。
44. .NET 中的跟踪是什么?
ASP.NET面试题合集:ASP.NET 包括一个易于使用的功能,可帮助调试 Web 应用程序。跟踪功能允许将调试打印语句插入到代码中以输出变量或结构、断言是否满足条件或跟踪应用程序的执行路径。跟踪功能用于跟踪已部署应用程序中发生的特定类型的操作(例如,数据库连接),从而可以监控应用程序的效率。ASP.NET 的新跟踪功能允许模拟Response.Write()声明。用户无需担心在部署应用程序之前删除语句。使用 Trace.Write() 而不是使用 Response.Write()。Trace 对象是一个内在的页面对象,类似于Request、Response、Server 等,可以直接用页面代码访问。
Trace 类:  Trace 类用于获取有关 Trace 的信息。使用 Trace 属性时,将在 System.Web 命名空间中定义 TraceContext 类的实例。Trace 类提供了一组有助于跟踪代码执行的方法和属性。检测允许监视在现实生活中运行的应用程序的健康状况。跟踪有助于隔离问题并修复它们,而不会干扰正在运行的系统。
有两种不同的方法可以启用跟踪:
  • 在 C# 或 C++ 的托管扩展中,可以将 /d:TRACE 标志添加到编译器命令行。在 Visual Basic 中,可以将 /d:TRACE=True 标志添加到编译器命令行
  • #define TRACE 可以添加到文件的顶部。此语法是特定于编译器的。如果用户使用的编译器不是上述指定的编译器,则必须参考编译器的文档以启用条件编译
45. 写下 ASP.NET 中提供的不同跟踪方法?
  • Assert()  – 检查条件,如果条件为假则显示一条消息。
  • Close()  – 清理输出缓冲区,然后关闭侦听器,使它们不再接收调试输出。
  • Fail()  – 此方法发出错误消息。
  • GetType()  – 用于“获取对象的类型”。
  • ToString()  – 返回一个代表当前对象的字符串
  • GetHashCode()  – 此方法的工作方式类似于特定类型的哈希函数。它适用于散列算法和散列表等数据结构。
  • Equals()  – 判断指定的 Object 是否与当前的 Object 是同一个实例
  • Warn()  – 将跟踪信息以及可选的异常数据写入跟踪日志。所有警告都显示为红色文本。它有两种形式。第一种形式将跟踪信息写入跟踪日志,包括任何用户定义的类别。
  • Write()  – 将跟踪信息写入跟踪日志。它有两种形式。第一种形式将跟踪信息写入跟踪日志,包括任何用户定义的类别和跟踪消息。
46.解释本地资源和全球资源?
本地资源对特定页面是显式的,特别是谁可以访问它,而全局资源可以从任何地方访问。本地资源保存在 App_LocalResources 管理器中,而全局资源保存在 App_GlobalResources 文件夹中。本地和全局资源记录看起来是相同的,所以唯一的区别是它们所在的文件夹。但它们的使用方式不同。
47.写下ASP.NET中的各种页面事件?
  • 预初始化
  • 在里面
  • 初始化完成
  • 加载视图状态
  • 加载后数据
  • 预加载
  • 加载
  • 加载完成
  • 预渲染
  • 预渲染完成
  • 保存阶段完成
  • UnLoad
48. ASP.NET 中的导航控件是什么?
ASP.NET常见的面试题和答案有哪些?导航控件被定义为一个菜单,可以存储在一个文件中,以便于维护。这个文件通常叫做 web.Sitemap,存放在 web 的根目录下。ASP.NET 具有三种不同类型的导航控件:
  • 动态菜单
  • 树视图
  • 站点地图路径
49. 描述 TreeView 控件?
ASP.NET常见问题和解析:TreeView 控件由节点组成。树中的每个条目称为一个节点,并由一个 TreeNode 对象表示。包含其他节点的节点称为父节点。被另一个节点包含的节点称为子节点。没有子节点的节点称为叶节点。不包含在任何其他节点中的节点,但它是根节点中所有其他节点的祖先。一个节点既可以是父节点,也可以是子节点,但是根节点、父节点和叶节点是互斥的。节点的几个视觉和行为属性取决于节点是根节点、父节点还是叶节点。
50.解释ADO.net?
ASP.NET面试问题和答案解析:ASP.NET 在数据访问方面引入了称为 ADO.NET 的下一代 ADO。ADO.NET 通过使用 XML 作为这些记录集和 DataStore 之间的通信媒介更加强调断开连接的记录集。ADO.NET 是最新的数据库访问技术,始于开放数据库连接 (ODBC) 应用程序编程接口( API)。Microsoft 引入了开放式数据库连接,并承诺为数据库创建一种单一的通用访问方法。从早期开始,ODBC 已经走了很长一段路。当今使用的几乎所有主要数据库都支持 ODBC 驱动程序,第三方开发人员提供优化的驱动程序版本。ODBC 的主要重点是为数据库数据源提供一致的接口。

    推荐阅读