2011-07-14 17 views
0

运行我读了下面的帖子How to correctly use IHttpModule *Application对象的多少实例可以为每个应用程序

现在,让这个词本身的思考。应用程序池。是游泳池。它 意味着某个Web应用程序在一个池中运行多个 HttpApplication实例。是多个。否则它 不会被称为池。 »多少?«你可能会问。只要你知道可能有不止一个,那并不是 真的很重要。我们 信任IIS来完成它的工作。它显然做得很好,它使得我们的开发人员完全透明,因此并不是很多 完全了解它的内部工作。我们依靠其强大的 提供的服务。它确实如此。这些HttpApplication 中的每个实例都保留其自己的HTTP模块列表,它在处理每个请求时使用 。

*

我有一个问题,在什么情况下应用程序对象的多个实例可以为单个应用程序运行。到现在为止,我意识到每个应用程序都存在一个应用程序对象。所以我很想知道,这是真的,多个实例可以运行每个应用程序,以及它是如何决定的?

回答

4

每个HttpApplication对象实例是唯一的单个请求。如果您的站点并行处理多个请求,则每个请求都必须具有自己的实例HttpApplication。该对象具有每个请求状态信息,该请求的生命周期内不得更改(包括请求和响应的主体!)

如文章中所述,将汇集实例。每个请求都将被重用以服务多个后续请求,直至在应用程序池中设置的限制,然后它将被允许停止。

请注意,您具体询问有关HttpApplication。这与System.Windows.Forms.Application类不同,它实际上是一个单一类,每个应用程序只存在一次。

相关问题