我一直在開發一個ASP.Net 4.0 web應用程序,並且我用HttpApplicationState類的Contents屬性在Global_asax文件的Application_Start事件中設置了一些變量。.Net 4.0和IIS7下的應用程序狀態不起作用
雖然應用程序在我的開發計算機上按預期運行,但當它在運行IIS7的生產服務器上部署時,爲應用程序狀態變量返回的值爲null。我嘗試了各種代碼技術,例如使用HttpContext,Runtime.Cache,Application [「key」]和Application.Contents.Add [「key」,Value],都沒有成功。我現在想知道在IIS7上是否應該有一個特殊的配置,研究這個主題我發現人們說應用程序在其中執行的應用程序池必須僅由單個工作進程提供服務;我不是IIS7的專家,但選擇應用程序池,並查看其高級屬性,我可以看到該池被配置爲最多有1個工作進程,所以我認爲這應該覆蓋它。我花了兩天時間,所以如果有人對這個問題有任何瞭解,請幫忙!
感謝
克里斯
謝謝,我把模式切換到了經典;這些變量似乎現在有價值;但是該頁面沒有任何樣式信息!有沒有人可以用經典模式做到正常服務應用程序? – user1012598
我還沒有看到之前在經典和集成之間切換的效果。您可以檢查您的部署是否擁有所有文件。有關模式之間的差異,請參閱http://stackoverflow.com/questions/716049/what-is-the-difference-between-classic-and-integrated-in-iis7。 –
感謝您的支持;你提示我查看應用程序池模式和使用應用程序狀態之間可能的關聯;看起來集成模式不訪問Application_Start事件;然而,試圖在傳統模式應用程序池下運行該網站導致年齡未正確發送(沒有發送樣式信息)。所以我害怕回到原點。由於時間不夠,我不得不退回到使用會話狀態(如果你問我,相當浪費);如果任何人有任何想法如何處理這件事請讓我知道。 – user1012598