2009-08-20 144 views
0

您好,我是ASP.NET MVC的新手,我遇到了一些試圖部署非常簡單的站點的問題!我帶着MVC店面(Kona)做了一些基本的改變,現在我想將它部署到網絡服務器上!爲了測試,我只在我的Windows 7桌面上打開了IIS7!我更改Web項目設置以使用本地IIS並運行它!ASP.NET MVC部署問題

我得到的第一個問題是「請求在此上下文中不可用」...要解決此問題,我必須刪除global.asx.cs文件中的HttpContext.Current.GetSiteUrl()!如果我現在運行該應用程序它的作品,但我沒有CSS?如果我切換回VS開發服務器,一切都很好?

我也可以從IIS上的集成模式swithc到經典的,使css工作,但然後我沒有路由?

回答

2

在IIS 7上,HttpContext.Current在Application_Start中爲null,因爲它不再由第一個請求觸發。

通過將代碼從Application_Start移動到Application_BeginRequest並添加一個標誌來指示應用程序是否已經初始化(Global類的成員),您可以解決該問題。如果爲false,則執行使用HttpContext.Current的代碼並將該標誌設置爲true,以便後續請求不執行該代碼段。