| 如何在ASP.NET環境下長期保存ASP.NET頁面的session變量 |
作者: 文章來源: 點擊數: 更新時間:2008-08-18
|
在Windows2003的服務器中的IIS6加入了應用程序池來回收一些無用的進程的功能,當由於網站程序的錯誤或訪問量太多的導致的應用程序池會自動回收該進程,防止網站進入“死機”狀態,而這時候的應用程序池的回收就會導致session變量被清除,就出現了session變量不見的現象。 為了解決這種在Windows2003下才出現的問題,我們在服務端起動ASP.NET State Service服務,並且在係統的machine.config做了一些改動。現在默認的情況下會話狀態mode是StateServer。如果您的網站根目錄下也配有一個web.config配置文件,請把mode="InProc"改成mode="StateServer",如下代碼,就可以防止session變量的丟失: <sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Integrated Security=SSPI" cookieless="false" timeout="30" /> + 注:只適用於支持asp.net的用戶。
|
| |
|