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

从ASP.NET应用程序生存周期谈起

  不知不觉工作已经两年多了,一直想把过去的点点滴滴积累的经验写下来,但是一直难以完成,一是时间的限制,再是所以得东西还是比较杂乱,一时难以整理。下面就从ASP.NET应用程序生存周期开始谈起,主要是以此为一个开头,老阐述个人的一些经验经验之谈和对参考一些资料的理解。
  首先,问题一:我们打开一个网页,输入一个网址,比如www.baidu.com,那么百度服务器是怎么解析一个请求的呢
  ASP.NET 应用程序的生命周期以浏览器向 Web 服务器(对于 ASP.NET 应用程序,通常为 IIS)发送请求为起点。ASP.NET 是 Web 服务器下的 ISAPI 扩展。Web 服务器接收到请求时,会对所请求的文件的文件扩展名进行检查,确定应由哪个 ISAPI 扩展处理该请求,然后将该请求传递给合适的 ISAPI 扩展。ASP.NET 处理已映射到其上的文件扩展名,如 .aspx、.ascx、.ashx 和 .asmx。
  以上的的说法是针对IIS5的处理,也就是说,如果百度用的服务器上的IIS是IIS5的话,当然百度是不会用IIS5的。那么为什么呢?我们看看不同阶段的IIS处理过程如下:
IIS 5 的 ASP.net 请求处理过程
 
对图的解释:
IIS 5.x 一个显著的特征就是 Web Server 和真正的 ASP.NET Application 的分离。作为 Web Server 的IIS运行在一个名为 InetInfo.exe 的进程上,InetInfo.exe 是一个Native Executive,并不是一个托管的程序,而我们真正的 ASP.NET Application 则是运行在一个叫做 aspnet_wp 的 Worker Process 上面,在该进程初始化的时候会加载CLR,所以这是一个托管的环境。
ISAPI:  指能够处理各种后缀名的应用程序。 ISAPI 是下面单词的简写 :Internet Server Application Programe Interface,互联网服务器应用程序接口。
IIS 5 模式的特点:
1、首先,同一台主机上在同一时间只能运行一个 aspnet_wp 进程,每个基于虚拟目录的 ASP.NET Application 对应一个 Application Domain ,也就是说每个 Application 都运行在同一个 Worker Process 中,Application之间的隔离是基于 Application Domain 的,而不是基于Process的。
2、其次,ASP.NET  ISAPI 不但负责创建 aspnet_wp Worker Process,而且负责监控该进程,如果检测到 aspnet_wp 的 Performance 降低到某个设定的下限,ASP.NET  ISAPI 会负责结束掉该进程。当 aspnet_wp 结束掉之后,后续的 Request 会导致ASP.NET ISAPI 重新创建新的 aspnet_wp Worker Process。
3、最后


相关文档:

13个不可不知的ASP.NET MVC扩展点

ASP.NET MVC设计的主要原则之一是可扩展性。处理管线(processing pipeline)上的所有(或大多数)东西都是可替换的。因此,如果您不喜欢ASP.NET MVC所使用的约定(或缺乏某些约定),您可以创建自己的服务来支持您的约定,并将其注入到主管线中。
在本文中,我们将从管线开始直到视图呈现,逐一向您展示每个ASP.NET MVC开 ......

ASP.NET AJAX 4.0 中的数据绑定

代码下载:
  围绕该 bush 击退停止:AJAX 是可能仅使用一个强的 JavaScript 引擎,可以在客户端浏览器中运行,并提供更高级和异步功能基础的。 JavaScript 库当前包含在 ASP.NET 3.5 SP 1 尝试是一个需要,但不足,将这样的库。 一个功能更强大的 ASP.NET AJAX 平台是必需的的并且它只是被引入了 ASP.NET AJAX 4.0 的 ......

运行 ASP.NET 的进程帐户必须具有IIS 元数据库权限

问题:
用于运行 ASP.NET 的进程帐户必须具有对 IIS 元数据库(如 IIS://servername/W3SVC)的读访问权。
出现此问题多是因为先装.net framework后装IIS 造成
解决方法:
开始->程序->Microsoft .NET Framework SDK v2.0->SDK 命令提示
输入
aspnet_regiis   -i  回车
---OVER--- ......

ASP.NET跨页面传值技巧总结

关于页面传值的方法,引发了很多讨论。看来有很多人关注这个,我就我个人观点做了些总结,希望对大家有所帮助。
1.  使用QueryString变量
QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中。如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法。但是对于传递 ......

asp.net的常用代码

 
0.用session判断是否登陆
if(Session["login"] == null)
   {
    Response.Redirect("error.aspx");
   }
1. 打开新的窗口并传送参数:
传送参数:
response.write("<script>window.open('*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="+...+"')</s ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号