2011-07-14 38 views
0

運行我讀了下面的帖子How to correctly use IHttpModule *Application對象的多少實例可以爲每個應用程序

現在,讓這個詞本身的思考。應用程序池。是游泳池。它 意味着某個Web應用程序在一個池中運行多個 HttpApplication實例。是多個。否則它 不會被稱爲池。 »多少?«你可能會問。只要你知道可能有不止一個,那並不是 真的很重要。我們 信任IIS來完成它的工作。它顯然做得很好,它使得我們的開發人員完全透明,因此並不是很多 完全瞭解它的內部工作。我們依靠其強大的 提供的服務。它確實如此。這些HttpApplication 中的每個實例都保留其自己的HTTP模塊列表,它在處理每個請求時使用 。

*

我有一個問題,在什麼情況下應用程序對象的多個實例可以爲單個應用程序運行。到現在爲止,我意識到每個應用程序都存在一個應用程序對象。所以我很想知道,這是真的,多個實例可以運行每個應用程序,以及它是如何決定的?

回答

4

每個HttpApplication對象實例是唯一的單個請求。如果您的站點並行處理多個請求,則每個請求都必須具有自己的實例HttpApplication。該對象具有每個請求狀態信息,該請求的生命週期內不得更改(包括請求和響應的主體!)

如文章中所述,將彙集實例。每個請求都將被重用以服務多個後續請求,直至在應用程序池中設置的限制,然後它將被允許停止。

請注意,您具體詢問有關HttpApplication。這與System.Windows.Forms.Application類不同,它實際上是一個單一類,每個應用程序只存在一次。

相關問題