Session丟失問題解決方案

2021-09-05 19:13:20 字數 1517 閱讀 5775

session丟失已經是一種習以為常的問題了,在b/s下開發,所以不得不讓我考慮session的問題。

解決session丟失的問題有兩種方法:1)將session儲存在一台sate server中。2)將session儲存在sql server中。我們使用的資料庫是oracle,不想再裝乙個資料庫,所以用了第一種方法。

首先根據網上查的資料對webconfig檔案中session部分進行修改。如下:

然後再在10.164.222.122 這台電腦上的asp.net state server 服務啟動

這樣基本上就行了。體驗一下。

我用了乙個測試程式,在3個小時以後session仍然可用,更絕的是我的電腦都重起了,在其它電腦上開啟的網頁中session仍然可用。一番體驗以後,感覺還真不錯。

.net framework 常規參考

元素 為當前應用程式配置會話狀態設定。

必選屬性

屬性 選項 說明

mode 指定在**儲存會話狀態。

off 指示會話狀態未啟用。

inproc 指示在本地儲存會話狀態。

stateserver 指示在遠端計算機上儲存會話狀態。

sqlserver 指示在 sql server 上儲存會話狀態。

可選屬性

屬性 選項 說明

cookieless 指定不具有 cookie 的會話是否應用於標識客戶端會話。

true 指示應使用不具有 cookie 的會話。

false 指示不應使用沒有 cookie 的會話。預設值為 false。

timeout 指定在放棄乙個會話前該會話可以處於空閒狀態的分鐘數。預設值為 20。

stateconnectionstring 指定遠端儲存會話狀態的伺服器名稱和埠。例如「tcpip=127.0.0.1:42424」。當 mode 為 stateserver 時該屬性是必需的。

sqlconnectionstring 為 sql server 指定連線字串。例如「data source=localhost;integrated security=sspi;initial catalog=northwind」。當 mode 為 sqlserver 時該屬性是必需的。

statenetworktimeout 在使用 stateserver 模式儲存會話狀態時,指定在放棄會話之前 web 伺服器和狀態伺服器之間的 tcp/ip 網路連線空閒的時間(以秒為單位)。預設值為 10。

備註 使用 stateserver 模式

確保執行 asp.net 狀態服務的伺服器是要儲存會話狀態資訊的遠端伺服器。該服務與 asp.net 一起安裝,其預設位置為 《驅動器》:\systemroot\microsoft.net\framework\version\aspnet_state.exe。

在應用程式的 web.config 檔案中,設定 mode=stateserver 並設定 stateconnectionstring 屬性。例如,stateconnectionstring="tcpip=sarath:42424"。

集群的session問題解決方案

同乙個ip的請求 到同乙個伺服器,太low不解釋。原理 存入session中的key value,同時存放到redis中,如果session中沒有找到,就去redis中去獲取。新增依賴 org.springframework.boot spring boot starter redis org.sp...

Session中丟失的問題解決

我們在用c 開發程式的時候經常會遇到session很不穩定,老是資料丟失。下面就是session資料丟失的解決辦法希望對您有好處。1 在web.config檔案中修改session狀態儲存模式,如 2 啟動系統服務 asp.net狀態服務 系統預設是手動啟動的 3 如果session中儲存的資料型別...

Vuex資料頁面重新整理丟失問題解決方案

用vue做專案開發很久了,對於vuex能用 會用,但是因為狀態脫離頁面和重新整理丟失兩個原因,一直都有種牴觸,特別是一些簡單的資料都是通過query或者本地儲存就解決了,然而對於一些複雜內容,不可避免的還是要使用vuex去處理 真香 但是重新整理丟失的問題,的確叫人頭大。最近閒下來,我們來研究下怎麼...