Session丟失已經是一種習以爲常的問題了,在自己也瞭解一些如何解決的問題,但是也一直沒有機會去用,現在由於新的項目要在B/S下開發,所以不得不讓我考慮Session的問題。
解決session丟失的問題有兩種方法:1)將session保存在一臺sate server中。2)將session保存在sql server中。我們使用的數據庫是oracle,不想再裝一個數據庫,所以用了第一種方法。
首先根據網上查的資料對webconfig文件中session部分進行修改。如下:
<sessionState
mode="StateServer"
cookieless="false"
timeout="240"
stateConnectionString="tcpip=10.164.222.122:42424"
stateNetworkTimeout="14400"
/>
<machineKey
validationKey="78AE3850338BFADCE59D8DDF58C9E4518E7510149C46142D7AAD7F1AD49D95D4"
decryptionKey="5FC88DFC24EA123C"
validation="SHA1"
/>
然後再在10.164.222.122 這臺電腦上的asp.net state server 服務啓動
這樣基本上就行了。體驗一下。
我用了一個測試程序,在3個小時以後session仍然可用,更絕的是我的電腦都重起了,在其它電腦上打開的網頁中session仍然可用。一番體驗以後,感覺還真不錯。