关于Asp.net应用程序生命周期
收集到的参考资料:
(原创)IIS6.0架构(1)
(翻译)从底层了解ASP.NET体系结构
ASP.NET 2.0运行时简要分析
(msdn资料)http://msdn.microsoft.com/zh-cn/library/ms178473(VS.80).aspx
(系列文章)http://www.cnblogs.com/artech/category/76631.html
[读书笔记][深入剖析ASP.NET组件设计]一书第三章关于ASP.NET运行原理讲述的补白
在II6环境下, w3wp.exe是其工作进程, 通过windows的任务管理器能看到w3wp.exe进程,当然有时候会有多个w3wp.exe进程,具体的个数取决于你在ii6中的[应用程序池]建立的个数,另外每个[应用程序池]的属性配置中->性能->Web园的设置(默然为1)也会影响你在任务管理器中看到w3wp.exe的个数,注意当长时间没有请求时对应,应用程序池的w3wp.exe会撤消,应此如果你想在任务管理器中看到他们,那么最好给每个应用程序池包含的网站的其中一个站点发个资源请求(如访问页面等),注意一个应用程序池可以对应多个站点,反过来说可以把多个站点分配给一个应用程序池(参考ii6.0).
w3wp.exe是ii6.0处理用户请求(通常是客户端IE对网页的请求)的工作进程, 当使用asp.net时,.net运行时(也叫CLR,公共语言运行时)会在w3wp.exe中加载, 而加载CLR后,名为 ApplicationManager 的类会在请求到来时,为每个 站点(属于同个应用程序池的站点) 创建一个AppDomain,并维护这个AppDomain, 因此每个站点(指asp.net应用)对应一个AppDomain, 多个AppDomain可以在一个进程内(多个站点可以属于一个应用程池)
在AppDomain内HttpRuntime 会创建立并维护一系列HttpApplication , 当然同一时间内,一个HttpApplication只能服务一个请求(独占),但是一个HttpApplication可以被其他请求重用.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述
2007-10-22 编写多字段排序的GridView的几点注意