我正在將2個.NET網站從一臺Windows 2003(IIS6)服務器遷移到另一臺。其中一個網站是.NET 2.0,另一個是.NET 3.5。我在全局web.config文件(在C:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ CONFIG \目錄下)中使用了ASP.NET會話狀態的StateServer模式。會話狀態在舊服務器上正常工作。無法使用會話狀態服務器,因爲此版本的ASP.NET需要會話狀態服務器2.0或更高版本
<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424"/>
然而,從here安裝.NET 2.0和.NET 3.5 SP1框架後,我在服務器重新啓動後收到以下錯誤消息在第一時間(每次),會話超時,或應用程序池刷新。
無法使用會話狀態服務器,因爲此版本ASP.NET 的需要會話狀態服務器版本 2.0以上。[在System.Web.SessionState.OutOfProcSessionStateStore.MakeRequest(StateProtocolVerb 動詞,串ID, StateProtocolExclusive exclusiveAccess,的Int32 extraFlags, 的Int32超時,的Int32 lockCookie, 字節[] buf中,CB的Int32,的Int32 networkTimeout, SessionNDMakeRequestResults &結果) 在 System.Web.SessionState.OutOfProcSessio nStateStore.SetAndReleaseItemExclusive(HttpContext的 上下文中,串ID, SessionStateStoreData項,對象 lockId,布爾的newitem)在 System.Web.SessionState.SessionStateModule.OnReleaseState(對象 源,EventArgs的EventArgs的)在 System.Web.HttpApplication.SyncEventExecutionStep .System.Web.HttpApplication.IExecutionStep.Execute() 在 System.Web.HttpApplication.ExecuteStep(IExecutionStep 步驟,布爾& completedSynchronously) ]
我發現的其它2個職位具有類似症狀,但是他們都沒有提供有效的解決方案。
- Unable to use session state server....requires session state server version 2.0 or above.
- Unable to use Session State Server
到目前爲止,我曾嘗試:
- 使用ASPNET_REGIIS -ua其次ASPNET_REGIIS -i -enable
- 卸載並重新安裝.NET 3.5 SP1和.NET 2.0
- 顯式在的httpRuntime enableVersionHeader屬性itly設置爲true
注意我還設置了在每個應用程序的web.config文件中的machineKey屬性爲this MSDN article概述。這是我在舊服務器上工作的東西,與以前完全相同。
我注意到,當我只安裝.NET 2.0時,問題完全消失。它只在我安裝.NET 3.5 SP1後出現。不幸的是,其中一個應用程序依賴於.NET 3.5的一些功能,因此不要將其卸載。
任何想法如何診斷和解決此問題?