易截截图软件、单文件、免安装、纯绿色、仅160KB

ASP.NET对请求处理的过程

ASP.NET对请求处理的过程
当请求一个*.aspx文件的时候,这个请求会被inetinfo.exe进程截获,它判断文件的后缀(aspx)之后,将这个请求转交给 ASPNET_ISAPI.dll,ASPNET_ISAPI.dll会通过http管道(Http PipeLine)将请求发送给ASPNET_WP.exe进程,在ASPNET_WP.exe进程中通过HttpRuntime来处理这个请求,处理完毕将结果返回客户端。
l         inetinfo.exe进程:
是www服务的进程,IIS服务和ASPNET_ISAPI.DLL都寄存在此进程中。
l         ASPNET_ISAPI.DLL:
是处理.aspx文件的win32组件。其实IIS服务器是只能识别.html文件的,当IIS服务器发现被请求的文件是.aspx文件时,IIS服务器将其交给aspnet_isapi.dll来处理。
l         aspnet_wp.exe进程:
ASP.NET框架进程,提供.net运行的托管环境,.net的CLR(公共语言运行时)就是寄存在此进程中。
 
ASP.NET Framework处理一个Http Request的流程
    HttpRequest-->inetinfo.exe-->ASPNET_ISAPI.dll-->ASPNET_WP.exe-->HttpRuntime-->HttpApplication Factory-->HttpApplication-->HttpModule-->HttpHandler Factory-->HttpHandler-->HttpHandler.ProcessRequest()
 
ASP.NET请求处理过程是基于管道模型的,这个管道模型是由多个HttpModule和HttpHandler组成,ASP.NET 把http请求依次传递给管道中各个HttpModule,最终被HttpHandler处理,处理完成后,再次经过管道中的HTTP模块,把结果返回给客户端。我们可以在每个HttpModule中都可以干预请求的处理过程。
 
 
注意:在http请求的处理过程中,只能调用一个HttpHandler,但可以调用多个HttpModule。
当请求到达HttpModule的时候,系统还没有对这个请求真正处理,但是我们可以在这个请求传递到处理中心(HttpHandler)之前附加一些其它信息,或者截获的这个请求并作一些额外的工作,也或者终止请求等。在HttpHandler处理完请求之后,我们可以再在相应的HttpModule中把请求处理的结果进行再次加工返回客户端。
 
HttpModule
    HTTP模块是实现了System.Web.IhttpModule接口的类。
    IHttpModule接口的声明:
 
public interface IHttpModule  
{  
 &


相关文档:

ASP.NET 如何:创建 ASP.NET 登录页


      可以使用 ASP.NET Login 控件创建登录页。此控件提取用户名和密码,并使用 ASP.NET 成员资格和 Forms 身份验证来验证用户的凭据并创建身份验证票证。
 
1、创建一个使用 ASP.NET 成员资格的 ASP.NET Web 应用程序。有关详细信息和示例,请参见配置 ASP.NET 应用程序以使用成员资格 ......

ASP.NET ASP.NET 网页的 HTML 控件


      本节中的主题描述如何使用 Visual Web Developer 工具箱的“HTML”选项卡上的 ASP.NET Web 服务器控件。
默认情况下,服务器无法使用 ASP.NET 网页上的 HTML 元素;这些元素被视为传递给浏览器的不透明文本。但是,通过将 HTML 元素转换成 HTML 服务器控件,可以将它们公开为 ......

ASP.NET清除页面缓存的方法

ASP.NET清除页面缓存
     (1)   Response.Buffer = true;
             Response.ExpiresAbsolute = System.DateTime.Now.AddSeconds(-1);
             Res ......

asp.net session丢失

发布中遇到了两个问题
一。session 会短时间自动消失
解决办法
1。在www.google.com中查session 丢失
2。在Window服务中将ASP.NET State Service 启动。
3。修改web.config
 <system.web>
  add  <sessionState mode="StateServer" timeout="60"/>
二。sql server 超过最大连接池数 ......

asp.net中Cookies的操作

  由于用的是VPS主机,不知道啥原因SESSION总是丢失,无奈换Cookies。
  查一下MSDN,在ASP.NET有两个COOKIES,Response.Cookies和Request.Cookies,无论用哪个都不行,添加进去后就读取不到
后来发现通过Response.Cookies添加、Request.Cookies读取才行。下面是添加、读取、删除的代码:
//添加
HttpCookie c = ne ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号