2009-01-25 17 views
1

嘗試在IIS 6服務器上部署簡單的asp.net mvc項目時,我不斷收到此錯誤「提供程序需要啓用SessionState」。繼續獲取提供程序要求在IIS上啓用SessionState 6

爲了排除我做錯了什麼,我現在試圖部署在vs2008中啓動新的asp.net mvc解決方案時獲得的模板。是的,我已經在IIS配置中啓用了會話狀態,還將<sessionState mode="InProc" />行添加到了web.config中,但這沒有任何區別。

嘗試了.mvc isapi映射以及通配符映射,並且仍然收到可怕的錯誤消息。

我可以忽略一些明顯的東西嗎?

回答

1

不是一個真正的答案,但我所做的是向IIS添加一個新站點,並讓它在端口81上運行。這是爲了內部測試/演示的目的,所以這不是什麼問題。

然後,我設置了一個虛擬目錄,你可以從許多指南中讀到,在.net 3.5 dll中設置通配符isapi規則,並且該站點立即啓動。

我現在碰到了提供程序需要啓用SessionState - 錯誤兩次。在我家裏的測試機器上,在這裏工作的同時,在IIS 6中部署一個mvc站點到默認網站時,一定會出現問題,但不能告訴你什麼...

並感謝乍得試圖幫助我 !

3

檢查你的web.config並檢查確保你沒有任何禁用會話狀態。它看起來像這樣。

<sessionState mode="Off" /> 

否則,你可能要檢查並確保您已通過...

  1. 點擊啓用會話狀態在IIS級別/選擇您的網站
  2. 在應用程序設置區域 選擇配置然後 選項選項卡。
  3. 在應用程序配置 區域中選擇啓用會話狀態 複選框(或確保它已選中 )。
+0

檢查和雙重檢查會話狀態應該工作:(。 – Morph 2009-01-25 18:03:11

0

我有同樣的錯誤,但在我的情況下,它與sessionstate無關(至少,它不是問題的根源)。

您是否在Global.asax文件中設置了錯誤處理? 如果是這樣,現在就禁用它。

protected void Application_Error(object sender, EventArgs e) 
{ 
    Exception exception = Server.GetLastError(); 
    RouteData routeData = new RouteData(); 
    routeData.Values.Add("controller", "ErrorController"); 
    routeData.Values.Add("action", "HandleTheError"); 
    routeData.Values.Add("error", exception); 

    Response.Clear(); 
    Server.ClearError(); 

    IController errorController = new ErrorController(); 
    errorController.Execute(new RequestContext(
     new HttpContextWrapper(Context), routeData)); 
} 

禁用此代碼後,我收到了一個http 404錯誤,指出我的某個頁面無法找到。 不要忘了添加mvc擴展到你的鏈接。如果解決根目錄問題,請使用Url.Content函數與「〜/」的組合。

相關問題