ASP.Net Interview Questions

ASP.NET 面试题

2025年3月16日 | 8分钟阅读

下面列出了一些最常被问到的 ASP.NET 面试题及答案。

1) 什么是 ASP?

ASP 是 Active Server Pages 的缩写。它也被称为经典 ASP。它是微软提供的一种服务器端技术,用于创建动态且用户友好的网页。它使用不同的脚本语言来创建可以在任何浏览器上运行的动态网页。


2) 什么是 ASP.NET?

ASP.Net 是微软的一个规范,用于创建 Web 应用程序和 Web 服务。它是 ".Net 框架" 的一部分。您可以使用大多数 .Net 兼容的语言(如 Visual Basic、C# 等)来创建 ASP.Net 应用程序。与脚本语言相比,ASP.Net 提供了更好的性能。


3) ASP 和 ASP.NET 之间有什么区别?

ASP 和 ASP.Net 的主要区别在于 ASP 是解释执行的,而 ASP.Net 是编译执行的。ASP 使用 VBScript,因此当 ASP 页面执行时,它是被解释执行的。另一方面,ASP.Net 使用 C# 和 VB.NET 等 .Net 语言,这些语言被编译成 Microsoft 中间语言。


4) 什么是 IIS?

IIS 是 Internet Information Services 的缩写。它由微软创建,用于为 ASP.NET Web 应用程序提供基于 Internet 的服务。


5) IIS 的用途是什么?

IIS 的主要用途如下:

  • IIS 用于将您的计算机作为 Web 服务器运行,并提供在服务器上开发和部署 Web 应用程序的功能。
  • IIS 处理 Web 服务器上的请求和响应周期。
  • IIS 还提供 SMTP 和 FrontPage 服务器扩展服务。
  • SMTP 用于发送电子邮件,FrontPage 服务器扩展用于获得 IIS 的动态功能,例如表单处理程序。

6) 什么是多语言网站?

如果一个网站提供多种语言的内容,那么它就被称为多语言网站。它包含其内容和其他资源(如日期和时间)的多个不同语言的版本。


7) 什么是缓存?请解释。

缓存是一种技术,它允许您将经常使用的项存储在内存中,以便能够更快地访问它们。


8) 缓存的主要要求是什么?

  • 通过缓存响应,您的请求将由内存中已存储的响应提供服务。
  • 您在选择要缓存的项时必须非常小心,因为缓存会产生开销。
  • 经常使用的、数据不经常更改的 Web 窗体适合缓存。
  • 缓存的 Web 窗体会冻结窗体的服务器端内容,并且对该内容的更改直到缓存刷新后才会显示。

9) ASP.NET 有哪些优点?

ASP.Net 是 ASP 技术平台的下一代。它在以下方面优于 ASP:

  • 高度可扩展
  • 编译代码
  • 用户身份验证
  • 语言支持
  • 第三方控件
  • 配置和部署简便。
  • 对象和页面缓存
  • 严格的编码要求

10) ASP.NET 中 Postback 的概念是什么?

Postback 是客户端向同一页面发送到服务器的请求,用户正在该页面上工作。ASP.NET 中有一个 HTTP POST 请求机制。它会将整个页面回发到服务器以刷新整个页面。


11) "isPostBack" 属性的用途是什么?

"IsPostBack" 属性用于检查页面是否已回发。


12) 如何识别页面是 PostBack?

Post 对象中有一个名为 "IsPostBack" 的属性,可以检查该属性来了解页面是否已回发。


13) 所有 Web 服务器控件的父类是什么?

System.Web.UI.Control


14) ASP.NET WebForms 和 ASP.NET MVC 有什么区别?

ASP.NET WebForms 使用 **页面控制器** 方法来渲染布局。在这种方法中,每个页面都有自己的控制器。

另一方面,ASP.NET MVC 使用 **前端控制器** 方法。在这种方法中,所有页面都有一个通用的控制器。


15) GET 方法() 和 POST 方法() 之间有什么区别?

编号。GET 方法()POST 方法()
1.数据附加到 URL。数据不附加到 URL。
2.数据不安全。数据安全。
3.此方法的数据传输速度更快。数据传输相对较慢。
4.它是一个单次调用系统。它是一个两次调用系统。
5.只能发送有限数量的数据。可以发送大量数据。
6.它是许多浏览器的默认方法。它不是默认设置。应明确指定。

16) Session 对象和 Application 对象之间有什么区别?

Session 对象用于维护每个用户的会话。当用户进入应用程序时会生成一个 Session ID,当用户离开应用程序时,Session ID 会被自动删除。

另一方面,Application 对象用于存储信息并从应用程序中的任何页面访问变量。


17) Trace 和 Debug 之间有什么区别?

Debug 类用于调试版本。Trace 类同时用于调试版本和发布版本。


18) Web 页面中的客户端验证和服务器端验证之间有什么区别?

客户端验证是在客户端使用 JavaScript 和 VBScript 进行的。此验证发生在 Web 页面发送到服务器之前。

服务器端验证是在服务器端进行的。


19) 基于文件的依赖关系和基于键的依赖关系之间有什么区别?

基于文件的依赖关系:基于文件的依赖关系允许您将依赖关系保存在磁盘上的一个文件中。

基于键的依赖关系:在基于键的依赖关系中,您依赖于另一个缓存项。


20) 全球化和本地化之间有什么区别?

全球化:全球化是一种识别 Web 应用程序中对不同语言而言是不同的部分,并将其与 Web 应用程序分离的技术。

本地化:在本地化中,您尝试配置 Web 应用程序,以便它可以支持特定的语言或区域设置。


21) 页面主题和全局主题之间有什么区别?

页面主题:页面主题应用于项目的特定 Web 页面。它存储在 App_Themes 文件夹的子文件夹中。

全局主题:全局主题应用于 Web 服务器上的所有 Web 应用程序。它存储在 Web 服务器上的 Themes 文件夹中。


22) 早期绑定和后期绑定之间有什么区别?

早期绑定:在早期绑定中,会调用一个非虚拟方法,该方法在编译时确定。

后期绑定:在后期绑定中,会调用一个虚拟方法,该方法在运行时确定。


23) 服务器端脚本和客户端脚本之间有什么区别?

服务器端脚本:在服务器端脚本中,所有脚本都由服务器执行,并根据需要进行解释。

客户端脚本:在客户端脚本中,脚本会在浏览器中立即执行,例如表单字段验证、电子邮件验证等。

客户端脚本通常以 VBScript 或 JavaScript 实现。


24) 如何退出表单身份验证?

使用 `FormsAuthentication.Signout()` 方法退出表单身份验证。


25) 如何在一个控件中显示验证消息?

通过 `ValidationSummary` 控件,我们可以将所有验证消息显示在一个控件中。


26) 身份验证和授权之间有什么区别?

身份验证是识别用户的过程,而授权用于检查已识别用户的访问权限。


27) 哪个对象封装了用户状态或数据?

Session 对象。


28) ViewState 是什么?

ViewState 是 ASP.NET 的一个功能,用于在页面提交到服务器之前存储页面的值。页面回发后,会从 ViewState 恢复数据。


29) ViewState 信息存储在哪里?

它存储在 HTML 隐藏字段中。


30) Response.Write() 和 Response.Output.Write() 之间有什么区别?

`Response.Write()` 用于常规输出,而 `Response.Output.Write()` 用于格式化输出。


31) 定义配置文件的类型。

有两种类型的配置文件:

  • 应用程序级别配置 = Web.config。
  • 计算机级别配置 = Machine.config。

32) Web.config 和 Machine.config 文件之间有什么区别?

Web.config 文件特定于 Web 应用程序,而 Machine.config 文件特定于计算机或服务器。

一个应用程序中可以有多个 Web.config 文件,但只有一个 Machine.config 文件。


33) MVC 是什么?

MVC 是 Model View Controller 的缩写。它是一种设计模式,用于分离业务逻辑和表示逻辑。它用于开发高度定制化的应用程序。

Model 代表数据,View 代表表示,Controller 作为 Model 和 View 之间的接口。


34) ASP.NET 中有哪些内置对象?

主要的内置对象如下:

  • 应用
  • Session
  • 背景
  • 请求
  • 响应
  • Server (服务器版)
  • 轨迹

35) 什么是基于角色的安全性?

基于角色的安全性几乎在所有组织中都得到使用,基于角色的安全性为每个角色分配特定的权限。

  • 每个用户都从列表中被分配一个特定的角色。
  • 根据角色的权限可以限制用户在系统上的操作,并确保用户只能执行被允许的操作。

36) Cookie 是什么?

Cookie 是一小段信息,存储在客户端。Cookie 有两种类型:

  • 会话/临时 Cookie:仅对单个会话有效
  • 持久性 Cookie:对多个会话有效

37) Cookie 的默认超时时间是多久?

30 分钟。


38) 如何关闭网站某一页面的 Cookie?

您需要遵循以下步骤:

  • 使用 "Cookie.Discard" 属性。
  • 它获取或设置由服务器设置的 discard 标志。
  • 当设置为 true 时,此属性会指示客户端应用程序在会话结束时不要将 Cookie 保存到用户的硬盘上。

39) 调用 Web 服务使用什么协议?

HTTP 协议。


40) Web 服务的文件的扩展名是什么?

Web 服务的文件的扩展名是 .asmx。


41) ASP.NET 中的 HTML 服务器控件有哪些?

  • HTML 服务器控件就像我们在 HTML 页面上使用的 HTML 元素一样。
  • HTML 服务器控件用于公开属性和事件以供使用。
  • 为了使这些控件在程序上可访问,我们通过添加 runat="server" 属性来指定 HTML 控件作为服务器控件。

42) Global.asax 文件的用途是什么?

Global.asax 文件用于执行应用程序级别的事件并设置应用程序级别的变量。


43) 什么是事件冒泡?

当子控件将事件发送到父控件时,这称为事件冒泡。像 Data Grid、Data List 和 Repeater 这样的服务器控件可以在它们内部包含其他子控件。