ASP.NET面试题

1. ASP.NET中的身份验证有那些?

  • Windows验证:ASP.NET会结合Internet信息服务(IIS),为每个用户开启Windows账户,通过Windows账户验证用户身份。
  • Forms验证:ASP.NET通过Web表单,为每个用户创建一个用cookie保存的身份验证票据,通过该票据验证用户身份。
  • Passport验证:由 Microsoft 提供的集中身份验证服务,通过将每个用户的信息提交给Passport 登录服务网站进行用户身份的验证。
  • None验证:自定义身份验证方式。


2. Server.Transfer与Response.Redirect有什么区别?

  • Server.Transfer:服务器端重定向,在服务器内部将请求从A页面重定向到B页面。由于是在服务器内部进行重定向,浏览器端并不知道服务器内部发生了重定向,因此浏览器的地址栏显示的URL不变,仍是最初请求的A页面。服务器端重定向不能跨站点。
  • Response.Redirect:客户端重定向,服务器向客户端浏览器发送一个重定向信号和重定向的URL地址,浏览器收到该信号后,重新去请求要重定向的URL地址。由于重定向是发生在浏览器端,因此浏览器的地址栏会变成重定向后的URL。浏览器端重定向可以跨站点。


3. ASP.NET 中页面之间传递值的几种方式?


QueryString(查询字符串):通过URL中的查询字符串(Default.aspx?id=5&name=abc)传值。
优点:简单便捷。
缺点:安全性差,且长度大小有限制。

Session:通过会话状态传值。
优点:当前会话中的所有页面均可使用,且能够传递任何对象。
缺点:可能会丢失(Session过期或失效等情况)。

Cookie:通过客户端Cookie传值。
优点:读取该Cookie的所有页面都可以使用。
缺点:只能够存储文本信息(字符串),且大小不能超过4KB。

Application:通过全局应用程序对象传值。
优点:整个应用程序都可以使用,且能够传递任何对象。
缺点:可能会产生并发问题。

Server.Transfer:通过服务器端重定向传值。
优点:可以将与最初请求相关的所有数据传递给重定向的页面。
缺点:资源消耗比较大。


4. 什么是“Code-Behind”技术?


Code-Behind:代码隐藏技术(代码后置),在ASP.NET中aspx页面通过其页面指令@Page,将页面的处理逻辑代码分离到另一个cs文件中,从而将页面的显示逻辑和处理逻辑分离,提高了页面的可维护性,并且不同职责的开发人员(程序员、美工)可以并行开发,提高了开发效率。



5. ASP.NET中调用Web Service的方法有哪些?

  • 通过HTTP-GET请求调用。
  • 通过HTTP-POST请求调用。
  • 通过SOAP请求调用。

6. 怎样理解web应用程序的“无状态编程”?


  Web应用程序是基于HTTP协议的,而HTTP协议具有无状态性。即客户端向Web服务器发送HTTP请求,服务器接收到请求,将相应的内容发送给客户端。在这一过程中,服务器不会主动记录任何有关客户端请求的信息,在本次请求结束后,服务器也不会保存有关本次请求的任何信息——所有的请求、响应都是即时的,当请求结束后,与本次请求相关的所有资源都将被释放。所以当客户端下一次向Web服务器发送请求时,服务器并不知道该客户端之前有没有发送过请求,也不知道本次请求是第几次请求。这便是Web应用程序的无状态性。


7. Session有什么缺点?可以使用什么方法加以解决?

  • Session缺点:默认情况下Session的存储采用的是“InProc”配置,即存储在IIS进程内存中,当IIS重启或发生进程回收时,Session则会丢失。
  • 解决方法:可以将Session配置为“StateServer”或“SQLServer”——存储在状态服务进程或数据库中,可以避免丢失,但此时无法捕获Session_End事件。


8. ASP.NET中所有自定义用户控件都必须继承自哪一个类?页面必须继承哪一个类?

  • 用户控件基类:System.Web.UI.UserControl。
  • 页面基类:System.Web.UI.Page。

9. 向服务器发送请求有几种方式?

常用的两种

  • GET:向服务器请求数据。
  • POST:向服务器提交数据。


10. Web Service有哪些优点?

  1. Web Service是基于XML的,与具体的语言和平台无关,故可以实现跨平台、跨语言通信。
  2. Web Service是采用SOAP协议(简单对象访问协议)进行通信的,该协议基于HTTP协议,故可以实现跨防火墙通信。
  3. Web Service可以很容易的实现分布式的应用程序。


11. ASP.NET缓存有几种实现方式?

  1. 页面输出缓存:将页面全部进行缓存。
  2. 页面局部缓存:将页面中的一部分放在用户控件中,对该部分进行缓存。
  3. 数据缓存:使用Cache类进行数据缓存。
  4. 客户端缓存:使用HttpCachePolicy类进行客户端(浏览器)缓存。
     


12. 什么是ViewState?有什么作用?


ViewState:视图状态。
Web 应用程序是无状态的。每次从服务器请求网页时,都会创建网页类的一个新实例。这通常意味着在每次往返过程中将会丢失所有与该页面及其控件关联的信息。为了克服 Web 编程的这一固有局限性,ASP.NET 页框架包含了状态管理功能,可以在往返过程之间保存页和控件的相关联的信息及其值。这便是视图状态。



13. ASP.NET中常见文件的后缀名有哪些?

  • aspx:页面
  • ascx:用户控件
  • asmx:Web Service
  • ashx:一般处理程序
  • asax:Global.asax,全局应用程序配置


14. ASP.NET中的六大对象有哪些?

  1. Request、(请求对象)
  2. Response、(响应对象)
  3. Server、(服务器对象)
  4. Session、(会话对象)
  5. Cookie、
  6. Application(应用程序对象)


15. jquery中实现Ajax请求的常用方法有哪些?有什么区别?


$.get方法:通过get方式发送请求。
$.post:通过post方式发送请求。
. a j a x :可以使用指定的方式来发送请求。 .ajax:可以使用指定的方式来发送请求。 .ajax:可以使用指定的方式来发送请求。.ajax方法是jquery中发送Ajax请求的最底层方法,可以完全自定义发送请求时的相关参数。
$.getJSON()



16. 手动实现Ajax请求的步骤是什么?

  1. 创建XMLHttpRequest对象
  2. 调用open方法初始化请求
  3. 设置回调函数
  4. 发送请求


17. MVC中的各个字母分别代表什么含义?在MVC框架中起什么作用?

  • M:Model,模型,是应用程序的数据处理逻辑部分,用于数据的访问。
  • V:View,视图,是应用程序的数据显示部分,用于呈现页面。
  • C:Controller,控制器,是应用程序流程控制部分,用于处理请求逻辑,访问模型数据。


18. MVC请求的处理过程?


  请求到达服务器后,首先进入路由系统进行验证,如果请求的Url地址格式符合路由的定义,则将请求交给控制器中的方法进行处理。在方法中,可能会访问模型中的数据、处理相应的业务逻辑,然后方法将根据请求的内容返回一个适当的视图呈现给客户端。


19. 您了解设计模式么?请列出您所知道的设计模式的名称。


设计模式是一个设计经验的总结,我所知道的设计模式有结构工厂模式 单例模式 建造者模式 原型模式
 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值