各位高手帮忙解释下HttpApplicationFactory

来源:百度知道 编辑:UC知道 时间:2024/06/22 02:43:22
代码如下
1internal static IHttpHandler GetApplicationInstance(HttpContext context)
2{
3 if (HttpApplicationFactory._customApplication != null)
4 {
5 return HttpApplicationFactory._customApplication;
6 }
7 if (HttpDebugHandler.IsDebuggingRequest(context))
8 {
9 return new HttpDebugHandler();
10 }
11 if (!HttpApplicationFactory._theApplicationFactory._inited)
12 {
13 lock (HttpApplicationFactory._theApplicationFactory)
14 {
15 if (!HttpApplicationFactory._theApplicationFactory._inited)
16 {
17 HttpApplicationFactory._theApplicationFactory.Init(context);
18 HttpApplicationFactory._theApplicationFactory._inited = true;
19 }
20 }
21 }
22 return HttpApplicationFactory._theApplicat

HttpApplicationFactory 控制着一个应用程序池,也就是HttpApplication,当第一个HTTP请求到达时,会创建N个HttpApplication对象,并选择其中一个来响应HTTP,处理后再将这个HttpApplication释放到池中,下一个HTTP请求到达时,会查看池中是否存在没有被使用的HttpApplication,如果有则取出,如果没有再创建N个。