ASP.NET 是一种流行的开源 Web 应用程序框架,用于构建由 Microsoft 开发的 Web 应用程序,它作为 .NET 框架的一部分发布。使用 .NET 构建动态 Web 应用程序变得很容易。经典 Active Server Pages (ASP) 的后继者。这用于创建 Web 服务和应用程序。

这些 Web 应用程序框架的其他示例包括 Ruby on Rails (Ruby)、Django (Python) 和 Express (JavaScript)。

ASP.NET Interview Questions

我们将 ASP.NET 面试问题分为两个部分,针对不同的技能水平量身定制。第一部分是为新生设计的,涵盖基本概念,在第二部分中,我们深入研究更高级的主题。无论您是初学者还是经验丰富的专业人士,我们精心挑选的问题都将帮助您为 ASP.NET 面试做好充分准备。

ASP.Net 新生面试问题

1.什么是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 在开发人员中流行的原因有很多。下面列出了一些原因:

  • 扩展.NET框架: ASP.NET 是 .NET Framework 的子集,因为它使用一些库和工具扩展了 .NET Framework 以开发 Web 应用程序。它添加到 .NET Framework 的内容是 MVC 等常见 Web 模式的库编辑器扩展处理网络请求的基础框架, 和 像 Razor 一样的网页模板语法, ETC。
  • 表现: 它比市场上其他可用的 Web 框架更快。
  • 后端代码: 借助 ASP.NET,您可以用 C# 编写用于数据访问和任何逻辑的后端代码。
  • 动态页面: 在 ASP.NET 中,Razor 提供了借助 C# 和 HTML 开发动态网页的语法。 ASP.NET 可以与 JavaScript 集成,它还包括用于 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.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 式服务,并且它还支持内容协商、自我促进,这是 MVC 中所没有的。
  • Web API 还处理返回专门设计的信息,如 JSON、XML 或其他依赖于请求中 Accept 标头的信息,您不必为此感到压力。 MVC 只是利用 Json Result 以 JSON 设计返回信息。

6.什么是服务器控制?

ASP.NET 具有服务器控件功能,它提供了在服务器端操作控件值的工具。当我们想要创建验证和动态 Web 表单时,这特别有用。

7. web.config 文件是什么?

配置文件 (web.config) 用于管理网站的不同设置。这些设置存储在独立于应用程序代码的 XML 文件中。通过这种方式,您可以从代码中自由配置设置。该文件存储在应用程序根目录中。

8. ASP.NET 使用哪种编译器?

为了编译 ASP.NET 程序,.NET 框架使用了 Roslyn 编译器。

9. ASP.NET 是开源的。解释?

ASP.NET 是一个开源 Web 框架,用于在 .NET (dotNET) 框架上构建 Web 应用程序。它由 Microsoft 开发,1.0 版本于 2002 年发布,允许用户开发动态 Web 应用程序、服务和站点。该框架旨在与标准 HTTP 约定配合使用,这是所有基于 Web 的应用程序使用的标准协议。 ASP.NET 是 ASP(Active Server Pages)创新的替代品,并且在适应性和功能方面是一次重大更新。它是 .NET 框架的扩展,带有额外的工具和库,用于在 Web 上构建内容,包括 Web 应用程序和网站。 ASP.NET跨板表单版本称为ASP.NET Core,于2016年交付。ASP.NET仍在更新和支持。

10.解释一下Global.asax文件?

Global.asax 是一个可选文件,位于应用程序根目录中。该文件用于处理更高级别的应用程序事件,例如Application_Start、Application_End、Session_Start、Session_End等。它也称为 ASP.NET 应用程序文件。Global.asax 包含一个代表整个应用程序的类。在运行时,该文件被解析并编译为从 HTTP 应用程序基类派生的动态创建的 .NET Framework 类。我们可以将此文件作为程序集传送到 ASP.NET 应用程序的 \bin 目录中。 Global.asax 记录本身的设计使得如果用户请求该文档,则该请求将被拒绝。外部用户无法下载或查看其中编写的代码。

Global.asax file

11. ASP.NET支持多少种类型的服务器控件?

ASP.NET 中主要有四种不同类型的服务器端控件:

  • HTML 服务器控件
  • 网络服务器控件
  • 用户控制
  • 验证控制

12. ASP.NET 中的“PostBack”是什么意思?

PostBack 是将 ASP.NET 页面呈现给服务器进行处理的过程。如果要根据某些来源检查页面的某些凭据(例如,使用数据库确认用户名和密钥/密码),则完成回发。这是客户端计算机无法实现的,随后,这些详细信息必须“回发”到服务器上。因此,我们可以说回发事件发生在客户端,但由服务器上运行的页面副本中的代码处理。

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.解释一下GridView和DataGrid的区别?

网格视图

数据网格

它是随 Asp.Net 2.0 引入的。

它是随 Asp.Net 1.0 引入的。

内置支持分页和排序。

对于排序,您需要处理 SortCommand 事件并重新绑定所需的网格,对于分页,您需要处理 PageIndexChanged 事件并重新绑定所需的网格。

内置支持更新和删除操作。

需要编写代码来实现Update和Delete操作。

支持自动格式或样式功能。

不支持此功能。

与 DataGrid 相比,性能较慢

与 GridView 相比,性能更快。

15.自定义控件和用户控件有什么区别?

用户控制

自定义控制

用户控件的创建就像 Web 表单一样。他们利用现有的控件来定义自己的逻辑。

自定义控件是由程序员通过扩展现有控件的功能来满足业务需求而制作或创建的控件。 

我们可以让用户轻松控制。

与用户控件相比,自定义控件的创建并不容易

这些控件不在自己的 dll 上运行。

而这些控件可以在自己的dl上运行。

我们无法添加到工具箱。

虽然我们可以添加到工具箱中。

这种控制不灵活。

这种控制更加灵活。

创建此控件的单个副本后,我们也可以将此副本用于不同的项目。

我们不能在不同的应用程序中调用或使用该控件的单个副本。为此,我们需要为每个应用程序创建一个控件。

16. ASP.NET 中的 Web 控件是什么?

Web 服务器控件比 HTML 服务器端控件更强大。唯一的区别是他们必须拥有 runat =“服务器” 属性集。该属性使该控件可用于服务器端编程。每个 ASP.NET 服务器控件都能够公开包含属性、方法和事件的对象模型。 ASP.NET 开发人员可以利用该对象模型来修改网页并与网页交互。 Web 控件包含 HTML 控件的所有基本控件以及一些新控件,如 DataGrid、DataList 和 Calendar。

网页控制

描述

标签

代表一个标签控件

列表框

代表一个列表框控件

复选框

代表一个复选框控件

日历

代表一个日历控件

图像按钮

代表一个图像按钮控件

表格单元格

代表一个表格单元格

控制板

代表一个面板控件

数据列表

代表一个数据列表控件

文本框

代表一个文本框控件

图像

代表一个图像控件

复选框列表

表示带有复选框的列表框

按钮

代表一个按钮控件

超链接

代表超链接控件

表行

代表表格的一行

单选按钮列表

表示带有单选按钮控件的列表框

数据网格

代表一个数据网格控件

下拉列表

代表一个下拉列表控件

广告旋转器

代表广告轮播控件

单选按钮

代表单选按钮控件

链接按钮

代表一个链接按钮控件

桌子

代表一个表控件

中继器

代表一个中继器控件

17.描述ASP中的登录控件? 

ASP.NET 支持基于 Web 的应用程序的强大登录控件,无需任何程序编码。这些登录控件与 ASP.NET 参与和表单身份验证相协调,以帮助对服务器网页进行自动客户端验证。默认情况下,ASP.NET 登录控件通过 HTTP 以纯文本方式工作。 ASP.NET 支持不同类型的登录控件,例如:

  • 登录控制
  • 登录查看控件
  • 登录状态控制
  • 登录名控制
  • 密码恢复控制
  • 创建用户向导控件
  • 更改密码控制

18. ASP.NET 中有哪些不同的验证控件?

ASP.NET 中的验证控件是创建 Web 应用程序的重要要求之一。这些控件提供了验证用户输入的设施。通过使用这些控件,我们可以检查必填字段、范围、自定义规则、条件等。asp.net 有 5 种不同类型的验证控件:

  • 必填字段验证器:如果我们希望用户必须填写某些必填字段,则使用此验证控件。
  • 比较验证器:此验证使用比较运算符(例如小于、大于等)将用户输入与值进行比较。
  • 范围验证器:此验证检查用户输入的值是否在特定范围内。
  • 正则表达式验证器:它检查用户的输入字符串是否与定义的模式匹配。
  • 自定义验证器:该验证用于检查用户定义的验证条件。

19. 为什么在.NET中使用CheckBox?

该控件在 Web 窗体页上创建一个复选框,允许用户为与该控件关联的项目设置 true 或 false 值。复选框的属性是:

  • 检查: 如果选中该复选框,则为 true,否则为 false。默认值为 false。
  • 文本对齐: TextAlign 是标题的位置。可能的值为“右”和“左”。默认为右对齐。
  • 文本: 这定义了复选框标题。
<%@ 页面语言="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="WebApplication10.WebForm2" %>        <表单ID ="form1" runat="server"> 

攻读技术硕士的资格条件

/ 理工学院


输出1:

输出2:

20.解释一下ASP.NET中的HTML服务器控件?

HTML 服务器控件: HTML 元素暴露给服务器。它们公开了一个与它们呈现的 HTML 元素非常紧密地映射的对象模型。您可以通过定义 runat =”server” 属性在服务器上运行这些控件。

控制描述
网页表单创建一个 HTML 表单控件,用作其他控件的占位符。
Html输入文本创建用于获取用户输入的输入文本框控件。
文本区创建多行文本框控件。
Html锚点创建 Web 导航。
HTML按钮创建按钮控件。
html图像创建一个图像控件,用于显示图像。
Html输入复选框创建一个复选框控件。
Html输入单选按钮创建单选按钮控件。
html表创建表控件。
Html表格行在表中创建一行。
html表格单元格在一行中创建一个单元格。

21.什么是LINQ? 

LINQ 被称为 语言综合查询 它被引入 .NET 3.5 和 Visual Studio 2008。LINQ 的美妙之处在于它提供了以下功能: 。网 语言(如 C#、VB.NET 等)生成查询以从数据源检索数据。例如,程序可能会从学生记录中获取信息或访问员工记录等。在过去的几年中,此类数据存储在与应用程序分开的数据库中,您需要学习不同类型的查询语言才能访问SQL、XML 等类型的数据。而且您不能使用 C# 语言或任何其他语言创建查询 。网 语言。

为了克服此类问题,Microsoft 开发了 LINQ。它为 C# 或 。网 语言来生成任何 LINQ 兼容数据源的查询。最好的部分是,无论使用哪种类型的数据源,用于创建查询的语法都是相同的,这意味着在关系数据库中创建查询数据的语法与用于创建存储在数组中的查询数据的语法相同不需要使用 SQL 或任何其他 非.NET 语言机制。您还可以将 LINQ 与 SQL、XML 文件、ADO.NET、Web 服务以及任何其他数据库结合使用。

22.什么是ASP.NET Core?

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 的版本。

23. ASP.NET 中的 Razor 是什么?

在 ASP.NET 中,Razor 提供了借助 C# 和 HTML 开发动态网页的语法。 ASP.NET 可以集成 JS(JavaScript) 它还包括用于 SPA(单页应用程序)的 React 和 Angular 等框架。

24. ASP.NET 中的身份验证类型有哪些?

身份验证是根据用户的凭据检查用户身份的过程。一般来说,用户的凭据采用用户 ID 和密码的形式,我们从数据库或等效替代方案中检查其凭据(如果存在),则该用户是下一个流程(授权)的有效候选者。 ASP.NET 中提供了不同类型的身份验证,即:

  • 表单验证
  • 护照认证
  • Windows 身份验证
  • 自定义认证

25. ASP中的查询字符串是什么?它的优点和缺点是什么?

QueryString 是输入到计算机 Web 浏览器的字符集合。当我们想要将值从一个页面传输到另一页面时,它很有帮助。如果发送的数据量很大,那么我们不能使用Request.QueryString,因为它只支持255个字符。我们使用“&”特殊字符来分隔多个查询字符串。任何可用于调用 ASPX 页面的查询字符串也可用于被调用的 ASPX 页面。

26. 简述网站和Web应用程序的区别?

Web 应用程序是一个可以通过浏览器访问的软件。浏览器是用于浏览互联网的应用程序。 Web 应用程序需要身份验证。 Web 应用程序使用服务器端脚本和客户端脚本的组合来呈现信息。它需要一个服务器来管理来自用户的请求。例如,谷歌应用套件

网站是包含图像、文本、音频、视频等相关网页的集合。它可以由一页、两页和n页组成。网站提供用户可以查看和阅读的视觉和文本内容。要查看网站需要浏览器(chrome、firefox)。网站有很多类型,例如档案网站、博客、社区网站、约会网站等。例如,亚马逊、youtube 等。

27.解释视图状态? 

查看状态 是方法 ASP 页面框架用于在往返之间保留页面和控制值。

<%@ 页面语言="C#" AutoEventWireup="true" CodeBehind="WebForm4.aspx.cs" Inherits="WebApplication9.WebForm4" %>       
示例查看状态:

欢迎来到 GEEKSFORGEEKS

页面计数器:
< br />


输出:

28. 解释 ASP.NET 中的 Cookie?

Cookie 可以定义为小块信息,可以通过服务器程序发送到浏览器并由互联网浏览器存储。然后,每次从服务器发出请求时,互联网浏览器都会将 Cookie 传回服务器。这对于允许验证/认证特别有帮助。

 假设,当用户登录受密码限制的系统时,Cookie 会存储用户信息(用户名、密码)。因此,客户不需要为他们想要下载的每个新页面重新输入详细信息。 cookie 属性获取客户端 cookie 变量的集合。

29. 解释一下 ASP.NET 中 Web 服务的用途?

Web 服务是一种 Web 应用程序,它本质上是一个由不同应用程序可以使用的方法组成的类。它同样遵循代码隐藏设计,例如 ASP.NET 页面,尽管它没有用户界面。

ASP.NET Core 高级面试题

30. 在ASP.NET MVC框架中编写请求流的步骤?

ASP.NET MVC 中请求流的顺序如下:

  • 要求:在这一步中首先收到请求。之后,在 Global.asax 文件中,路由对象将添加到路由表对象中。
  • 路由:在第二步执行路由。应用程序从客户端收到请求后,使用 URL 路由模块来处理请求。路由表将 URL 引导至处理程序。路由正在与一个系统进行协调,该系统将请求的 URL 与路由表中可用的 URL 模式进行匹配。当在模式中找到匹配项时,路由引擎会将请求转移到相关的 IRouteHandler。假设在路由表中找不到相关的 URL,它将返回 404 HTTP 状态代码。
  • MVC处理程序:RouteHandler 负责根据接收到的 RequestContext 决定将服务于请求的 HTTP 处理程序。
  • 控制器:在这一步中,控制器决定要执行哪个动作方法。
  • 执行的操作: 控制器实例化后,ActionInvoker 将确定需要执行哪个 Action 方法。 ActionNameSelectorAttribute 和 ActionMethodSelectorAttribute 方法用于选择操作方法。操作方法接收用户输入,然后执行结果并返回结果类型以供查看。

31.解释ASP.NET中Session状态的各种模式? 

  • 进程内:会话存储在 Web 服务器上的应用程序进程中。根据所使用的 IIS 版本,可能是 aspnet_wp.exe 或 w3wp.exe。
  • 状态服务器:会话是通过使用 State Server Windows 管理服务来存储的。
  • SQL服务器:使用SQL Server数据库来存储会话信息。
  • 风俗:自定义会话状态提供程序管理所有会话状态。

32. 写出控制器操作方法的不同返回类型?

  • 查看结果
  • JavaScript 结果
  • 重定向结果
  • JSON 结果
  • 内容结果

33.MVC中如何维护会话?

我们可以使用三种不同的方式在 MVC 中维护会话:

  • 温度数据
  • 查看数据
  • 查看包袋

34.你如何解释Repeater和ListView之间的区别?

Repeater 控件派生自 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 控件通常是更好的选择选择 Repeater 或 DataList。

35.描述ASP中的loginStatus控件? 

ASP.NET 支持基于 Web 的应用程序的强大登录控件,无需任何程序编码。 LoginStatus 控件是一个非常简单的控件,它所做的只是根据用户是否登录或注销显示不同的链接。如果用户已登录,则会显示注销链接,反之亦然。

它支持的属性很少,LogOutAction 可用于指定用户单击 LogOutLink 时发生的情况,选项有 Redirect、RedirctToLoginPage、Refresh。如果我们将其设置为“重定向”,那么我们必须设置另一个属性 LogOutPage Url,用户在注销网站后将重定向到该属性。

<%@ 页面语言="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication10.WebForm1" %>       
欢迎来到 GeeksForGeeks



输出:

36.你对JIT了解多少?

即时(JIT)编译器:即时编译器(JIT)是.NET中公共语言运行时(CLR)的一部分,负责管理.NET程序的执行,无论任何.NET编程语言。特定语言的编译器将源代码转换为中间语言。然后,这种中间语言由即时 (JIT) 编译器转换为机器代码。该机器代码特定于 JIT 编译器运行的计算机环境。 

37. ASP.Net 中的 RedirectPermanent 是什么?

RedirectPermanent(String) 方法重载在响应中提供 301 HTTP 状态代码,并合并 URL 以转移请求。 301 HTTP 状态代码是 HTTP 反应中的标准代码。它表明存在持久重定向,并且给出了重定向区域。

38. ASP.NET 中的 AJAX 是什么?

ASP.NET AJAX 的完整形式是异步 JavaScript 和 XML。 ASP.NET AJAX 也称为 AJAX,是 ASP.NET 的一堆增强。它使用浏览器和网络服务器之间的异步数据传输,允许网页从服务器请求少量信息而不是整个页面。这项技术使互联网应用程序变得更小、更快、更用户友好。它由 Microsoft 创建,用于在 Web 应用程序中执行 AJAX 功能。 ASP.NET AJAX 与 AJAX 库配合使用,该库利用对象排列编程 (OOP) 来加快丰富的 Web 应用程序的速度。

39. ASP.NET 中的往返是什么?

当包括服务器端处理时,则包括四个阶段:  

  1. 用户从 Web 服务器请求 Web 表单。
  2. Web 服务器以提到的 Web 表单做出反应。
  3. 用户输入信息并将网络表单提交到网络服务器。
  4. 然后,Web 服务器处理表单结构并将结果发送回特定用户。

现在,第 3 阶段称为页面回发,而第 3 阶段和第 4 阶段统称为“往返”。我们可以这样说:“往返包括通过网络到 Web 浏览器的整个行程并获取响应。 Web应用程序使用HTTP来建立Web程序和Web服务器之间的通信。 

40.什么是REST架构?

休息代表 关于表现性的 S泰特 时间ransfer.REST 是一种架构风格,不遵循任何严格的标准,但遵循 Roy Fielding 在 2000 年定义的六个约束。这些约束是:统一接口、客户端-服务器、无状态、可缓存、分层系统、按需代码。REST 是不限于 XML,实现者可以选择使用哪种媒体类型,如 XML、JSON、纯文本。而且,REST可以使用SOAP协议,但SOAP不能使用REST。REST易于实现,并且需要较少的带宽(例如智能手机)。

RESTful API 的架构限制: 下面列出了任何 Web 服务的六种架构约束:

  • 统一接口
  • 无国籍
  • 可缓存
  • 客户端服务器
  • 分层系统
  • 按需编码

41. 什么是缓存及其不同类型?

在 Asp.Net 中,缓存方法允许存储或缓存网页输出。该技术用于避免重新创建相同数据的开销。 ASP.NET 中提供了三种不同的缓存类型:

  • 页面输出缓存
  • 页面片段缓存
  • 数据缓存

如果用户请求相同的数据或信息,缓存会提高性能参数。

  • 页面输出缓存: 它是通过在设计时将 OutputCache 指令放置在 .aspx 页面顶部来实现的。
  • 数据缓存: 它用于快速检索应用程序数据,由 Cache 对象实现。
  • 页面片段缓存: 它用于通过缓存用户控件将部分 Web 表单响应存储在内存中。

42. ASP.NET 中 Finalize 方法的作用是什么?

Finalize 技术用于在销毁当前对象之前对当前对象所持有的非托管资源执行清理过程。该策略得到保证,并且随后仅通过此类或通过派生类即可使用。

43. 记下ASP.NET页面生命周期中所有步骤的名称?

  • 页面请求
  • 页面生命周期的开始
  • 页面初始化
  • 页面加载
  • 验证
  • 回发事件处理
  • 页面渲染
  • 卸下

44..NET 中的跟踪是什么?

ASP.NET 包含有助于调试 Web 应用程序的易于使用的功能。跟踪功能允许将调试打印语句插入到代码中以输出变量或结构、断言是否满足条件或跟踪应用程序的执行路径。跟踪功能用于跟踪已部署应用程序中发生的特定类型的操作(例如数据库连接),从而可以监控应用程序的效率。 ASP.NET 的新跟踪功能允许模拟 响应.Write() 声明。用户无需担心在部署应用程序之前删除这些语句。不使用 Response.Write(),而是使用 Trace.Write()。 Trace对象是一个固有的页面对象,类似于Request、Response、Server等,可以直接通过页面代码访问。

跟踪类: Trace 类用于获取有关 Trace 的信息。使用 Trace 属性时,TraceContext 类的实例将在 System.Web 命名空间中定义。 Trace 类提供了一组有助于跟踪代码执行的方法和属性。仪器允许监控在现实生活设置中运行的应用程序的运行状况。跟踪有助于隔离问题并修复它们,而不会干扰正在运行的系统。

有两种不同的方式来启用跟踪:

  • 在 C# 或 C++ 的托管扩展中,可以将 /d: TRACE 标志添加到编译器命令行中。在 Visual Basic 中,可以将 /d: TRACE=True 标志添加到编译器命令行
  • #define TRACE 可以添加到文件顶部。此语法是特定于编译器的。如果用户使用的编译器不是上面指定的编译器,则必须参考编译器的文档来启用条件编译

45. 写出ASP.NET中提供的不同Trace方法?

  • 断言() – 检查条件,如果条件不成立则显示一条消息。
  • 关闭() – 清理输出缓冲区,然后关闭监听器,使其不再接收调试输出。
  • 失败() – 此方法发出错误消息。
  • 获取类型() – 它用于“获取对象的类型”。
  • ToString() - 返回表示当前对象的字符串
  • 获取哈希码() – 此方法的工作原理类似于特定类型的哈希函数。它适用于哈希算法和哈希表等数据结构。
  • 等于() – 判断指定的Object是否与当前Object是同一个实例
  • 警告() – 将跟踪信息以及可选的异常数据写入跟踪日志。所有警告均显示为红色文本。它有两种形式。第一种形式将跟踪信息写入跟踪日志,包括任何用户定义的类别。
  • 写() – 将跟踪信息写入跟踪日志。它有两种形式。第一种形式将跟踪信息写入跟踪日志,包括任何用户定义的类别和跟踪消息。

46.解释局部资源和全局资源?

本地资源对于特定页面是显式的,即特定的谁可以访问它,而全局资源可以从任何地方访问。本地资源保存在 App_LocalResources 组织器中,而全局资源保存在 App_GlobalResources 文件夹中。本地和全局资源记录看起来是相同的,因此唯一的区别是它们所在的文件夹。但它们的使用方式不同。

47. 记下ASP.NET中的各种页面事件?

  • 预初始化
  • 在里面
  • 初始化完成
  • 加载视图状态
  • 加载后数据
  • 预加载
  • 加载
  • 加载完成
  • 预渲染
  • 预渲染完成
  • 保存阶段完成
  • 卸下

48. ASP.NET 中的导航控件是什么?

导航控制被定义为可以存储在文件中以使其更易于维护的菜单。该文件通常称为web.Sitemap,存储在网站的根目录中。 ASP.NET 具有三种不同类型的导航控件:

  • 动态菜单
  • 树视图
  • 站点地图路径

49.描述TreeView控件?

TreeView 控件由节点组成。树中的每个条目称为一个节点,并由 TreeNode 对象表示。包含其他节点的节点称为父节点。被另一个节点包含的节点称为子节点。没有子节点的节点称为叶节点。不被任何其他节点包含但是根节点中所有其他节点的祖先的节点。一个节点可以同时是父节点和子节点,但根节点、父节点和叶节点是互斥的。节点的一些视觉和行为属性取决于节点是根节点、父节点还是叶节点。

50.解释一下ADO.net?

ASP.NET 在数据访问方面引入了下一代 ADO,称为 ADO.NET。 ADO.NET 通过使用 XML 作为这些记录集和 DataStore 之间的通信媒介,更加重视断开连接的记录集。ADO.NET 是最新的数据库访问技术,始于开放数据库连接 (ODBC) 应用程序编程接口 (应用程序编程接口)。微软引入了开放数据库连接,承诺为数据库创建单一的通用访问方法。自早期以来,ODBC 已经取得了长足的进步。目前使用的几乎所有主要数据库都支持 ODBC 驱动程序,并且第三方开发人员提供了优化的驱动程序版本。 ODBC 的主要重点是为数据库数据源提供一致的接口。

结论

“ASP.NET 面试问题与解答”一文是非常宝贵的指南,提供了有关这个强大平台的全面见解。通过探索这些最新问题及其简洁的答案,您可以增强您的知识并提高您在 ASP.NET 面试中取得好成绩的机会。做好准备,保持信心,并在不断发展的 ASP.NET 开发领域踏上成功之旅。