IIS 7.0 部署項目提示Server Error in '/IIS' Application
今天部署應用程序,以前習慣了在IIS 6.0 部署,各種順暢,換到IIS 7.0 竟然遇到新的問題,具體如下記錄:
程序發布一切正常,用靜態頁也測試了,可以正常訪問。可等我登錄系統,訪問歡迎頁時,頁面打開如下圖

后來去查閱各種資料發現,在IIS7.0集成模式中,當我們在Global.asax的Application_Start中使用HttpContext.Current屬性的任何操作都是不可行的,It is not possible to access the request through the HttpContext.Current property in Application_Start in global.asax
根據ASP.NET 2.0 Breaking Changes on IIS 7.0中的第十六條,我們可以清楚看到Application_Start事件中已不能使用HttpContext.Current
對于這個問題,最直接的有兩個解決辦法:
1.更改應用程序代碼,不使用HttpContext對象(推薦)
2.移動應用程序到經典模式。
對于官方提供的這兩種處理方式,顯然我是我所期望的,我的做法是把獲取請求地址這個地方,改到配置文件中,由人工去填寫請求地址,這樣,我后面的邏輯代碼也不需要做太多改動。
如果你只是為了獲取應用程序虛擬路徑, 可以將HttpContext.Current.Request.ApplicationPath 替換成HttpRuntime.AppDomainAppVirtualPath來獲取,也可以達到期望效果。
在此做下記錄,便于自己也便于他人。
浙公網安備 33010602011771號