我在aspnix http://www.aspnix.com主辦的共享主機平臺上的一個非常簡單的MVC 2應用程序。隨機,一個asp.net MVC 2應用程序意外關閉託管在aspnix共同主辦
有些時候,用戶在網站的導航過程中失去了驗證(我用的是標準的會員提供者)和被重定向到登錄頁面。 經過一番研究之後,我開始懷疑由於應用程序重新啓動導致會話丟失,因此我決定安裝並配置運行狀況監視服務,以便跟蹤應用程序關閉和重新啓動。
一些應用程序的請求後,我開始看到在健康監測日誌如下條目:
Event code: 1002 Event message: Application is shutting down. Reason: Hosting environment is shutting down. Event time: 12/8/2010 8:16:33 AM Event time (UTC): 12/8/2010 3:16:33 PM Event ID: d92fbba0487b4bab97bd7eff4b0083bb Event sequence: 38 Event occurrence: 1 Event detail code: 50002 Application information: Application domain: /REMOVED FOR PRIVACY! Trust level: Full Application Virtual Path:/ Application Path: C:\REMOVED FOR PRIVACY! Machine name: REMOVED FOR PRIVACY! Process information: Process ID: 12516 Process name: w3wp.exe Account name: REMOVED FOR PRIVACY!
然後應用程序的重新啓動。
然後我接觸aspnix支持,它說,該服務器是好的,其他一些大的網站在同一服務器上沒有問題,運行,這有可能是我的應用程序的問題。
所以我開始在我的應用程序進行調查,但我沒有發現任何問題。
我也意識到,當我請求靜態資源等,例如PNG圖像關機也出現!
經過一番研究,我發現了斯科特顧博客這個有趣的帖子: http://weblogs.asp.net/scottgu/archive/2005/12/14/433194.aspx
所以我攔截Application_End事件在Global.asax斯科特教授,然後我送每次我的應用程序關閉郵件。 ..和內容每次都一樣:
_shutDownMessage=HostingEnvironment initiated shutdown
HostingEnvironment caused shutdown
_shutDownStack= at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)
at System.Environment.get_StackTrace()
at System.Web.Hosting.HostingEnvironment.InitiateShutdownInternal()
at System.Web.Hosting.HostingEnvironment.InitiateShutdownWithoutDemand()
at System.Web.Hosting.PipelineRuntime.StopProcessing()
我知道,重啓的原因可能是在web.config的變化,在bin或ASPX文件的更改,內存等..用眼過度。 但是在這種情況下,應用程序關閉也出現在r equest的靜態資源和應用程序的其他部分都非常簡單,只使用標準的成員資格提供程序和一些LINQ到SQL查詢...
我也訂閱了Application_Error事件的所有未處理的異常與沒有結果。
有什麼想法?
你有沒有發現這件事? – 2011-03-23 01:41:27