我的理解是请求通过MODULE(BeginRequest,authentica,author,prehandler …)HANDLER(Proccessrequest)PAGE(Init,viewstate,load,render,……,unload)MODULE(Posthandler,postrequescache,Endreques) ).
Global.asax(Application_start,Application_begin,….)究竟在上面的流程中出现了什么?对此的清晰度确实会有所帮助
谢谢你宝贵的时间.
解决方法
我不打算用下面你看到的结构来重复.这张照片做得更好,然后我可以说句子.相反,我会直接了解图像对你的问题的影响.
应用领域
什么是App域?它是应用程序的系统内存的私有分配.域内的所有代码都使用分配的域内存.这意味着静态类型和引用在域中共享.域外的任何代码都无法访问此域的内存.
每个ASP.NET application在其所属的每个应用程序池的App域内运行.无论应用程序池中的线程数如何,这种一对一关系都适用.
Global.asax中
什么是Global.asax?最简单的是它继承自System.Web.HttpApplication的.NET类.HttpApplication为Global.asax提供了通过请求管道引导所有HTTP请求的智能.它将触发所有请求生命周期事件并在处理程序上调用ProcessRequest.
每个ASP.NET application将创建多个HttpApplication(Global.asax)实例.收到请求后,它将被传递给其中一个HttpApplication实例.然后,请求将在相同的HttpApplication实例中保留其生命周期.这意味着每个请求都有一个HttpApplication实例正在处理中.每个HttpApplication实例都可以并且将会在其生命周期内重复使用以处理许多请求.
应用事件
Application_Start等应用程序事件在哪里?这取决于因为其中一些事件引用App域而一些事件引用到HttpApplication.Application_Start和Application_End引用App Domain的开始和结束.其余的Application事件(例如Application_Begin)引用HttpApplication实例的生命周期.