session丟失的解決辦法小結
最近在做asp.net專案時,測試**老是取不出session中的值,在網上搜尋了一下,找到一些解決方法,記錄在這裡。最後使用儲存在stateserver中的辦法解決了問題。
sessionstate的timeout),其主要原因有三種。
一:有些殺病毒軟體會去掃瞄您的web.config檔案,那時session肯定掉,這是微軟的說法。
二:程式內部裡有讓session掉失的**,及伺服器記憶體不足產生的。
三:程式有框架頁面和跨域情況。
第一種解決辦法是:使殺病毒軟體遮蔽掃瞄web.config檔案(程式執行時自己也不要去編輯它)
第二種是檢查**有無session.abandon()之類的。
第三種是在window服務中將asp.netstateservice啟動。
下面是幫助中的內容:
(ms-
help:
asp.net提供乙個簡單、易於使用的會話狀態模型,您可以使用該模型跨多個web請求儲存任意資料和物件。它使用基於字典的、記憶體中的物件引用(這些物件引用存在於iis程序中)快取來完成該操作。使用程序內會話狀態模式時請考慮下面的限制:
使用程序內會話狀態模式時,如果aspnet_wp.exe或應用程式域重新啟動,則會話狀態資料將丟失。這些重新啟動通常會在下面的情況中發生:
在應用程式的web.config檔案的
<
processmodel
>
元素中,設定乙個導致新程序在條件被滿足時啟動的屬性,例如memorylimit。
修改global.asax或web.config檔案。
更改到web應用程式的bin目錄。
用防毒軟體掃瞄並修改global.asax檔案、web.config檔案或web應用程式的bin目錄下的檔案。
如果在應用程式的web.config檔案的
<
processmodel
>
元素中啟用了網路園模式,請不要使用程序內會話狀態模式。否則將發生隨機資料丟失。
還有這二種:
一:在第乙個頁面置了session,然後redirect去第二個頁面。解決方法是在redirect中設定endresponse為false。
二:asp.net中使用了access資料庫,而且資料庫是放在bin目錄中的。解決方法是不要放會更新的檔案在bin目錄中。
參考:http:
asp.net預設配置下,session莫名丟失的原因及解決辦法
正常操作情況下session會無故丟失。因為程式是在不停的被操作,排除session超時的可能。另外,session超時時間被設定成60分鐘,不會這麼快就超時的。
這次到csdn上搜了一下帖子,發現好多人在討論這個問題,然後我又google了一下,發現微軟**上也有類似的內容。
現在我就把原因和解決辦法寫出來。
原因:由於asp.net程式是預設配置,所以web.config檔案中關於session的設定如下:
<
sessionstatemode='
inproc
'stateconnectionstring='
tcpip=127.0.0.1:42424
'sqlconnectionstring='
datasource=127.0.0.1;trusted_connection=yes
'cookieless='
true
'timeout='
60'/>
我們會發現sessionstate標籤中有個屬性mode,它可以有3種取值:inproc、stateserver
?sqlserver(大小寫敏感)。預設情況下是inproc,也就是將session儲存在程序內(iis5是aspnet_wp.exe,而iis6是w3wp.exe),這個程序不穩定,在某些事件發生時,程序會重起,所以造成了儲存在該程序內的session丟失。
哪些情況下該程序會重起呢?微軟的一篇文章告訴了我們:
1、配置檔案中processmodel標籤的memorylimit屬性
2、global.asax或者web.config檔案被更改
3、bin資料夾中的web程式(dll)被修改
4、防毒軟體掃瞄了一些.config檔案。
更多的資訊請參考prb:sessionvariablesarelostintermittentlyin=
'tcpip=127.0.0.1:42424
'屬性,其中有個ip位址,預設為本機(
127.0
.0.1
public
class
myclass
具體的序列化相關的知識請參這裡。
至此,問題解決。
詭異的 session丟失 和 標籤
專案發布到伺服器上面了,但是客戶在使用的時候發現,只要進入新增頁面和修改頁面。再進行操作就會自動跳轉到登陸頁面 我設定了session儲存使用者登陸資訊 而別的頁面就不會出現這個問題。從下午開始找個問題,開始以為不知道只有這兩個頁面有問題,以為全部都是這樣的問題,是iis的設定問題。我將sessio...
運算精度丟失和數值丟失問題
標籤 空格分隔 程式設計競賽 程式設計錯題 在做題時,我經常會碰到程式很對,但結果出錯的問題。如下面這個。題目描述 經常出國旅行的驢友都知道,需要及時了解當地的氣溫狀況。但不少國家採用了不同的溫度計量單位 有些使用華氏溫度標準 f 有些使用攝氏溫度 c 現在,請你根據溫度轉換公式設計乙個溫度轉換程式...
kafka丟失和重複消費資料
kafka作為當下流行的高併發訊息中介軟體,大量用於資料採集,實時處理等場景,我們在享受他的高併發,高可靠時,還是不得不面對可能存在的問題,最常見的就是丟包,重發問題。1 丟包問題 訊息推送服務,每天早上,手機上各終端都會給使用者推送訊息,這時候流量劇增,可能會出現kafka傳送資料過快,導致伺服器...