黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) hot資訊 session丟失的解決方法

session丟失的解決方法

更新時(shí)間:2022-01-25 11:31:07 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽1893次

在ASP.NET的開發(fā)中,總遇到Session丟失.最常見的情況是當(dāng)用戶登錄后將用戶信息保存在Session中例如Session["user"]=user;在其后的頁(yè)面中檢查Session["user"]是否為空,如果為空則要求用戶重新登錄,我們遇到的問(wèn)題是在用戶登錄后的1小段時(shí)間后(也許只有5分鐘),Session["user"]就已經(jīng)丟失了,Session["user"]!=null的判斷就不成立了.

session丟失的解決方法

遇到這樣的問(wèn)題我們首先想到的可能是session過(guò)期了,需要設(shè)置web.config中session的過(guò)期時(shí)間,最常見的簡(jiǎn)單設(shè)置就是:

<sessionState mode="InProc" timeout="20" />這里的timeout是指的session的過(guò)期時(shí)間單位是分鐘,但是通常這樣的設(shè)置還不能解決你的問(wèn)題,因?yàn)閟ession的默認(rèn)過(guò)期時(shí)間就是20分鐘.

現(xiàn)在我們來(lái)看看session在web.config中的配置,完整的配置如下:

< sessionState mode ="Off|InProc|StateServer|SQLServer" 
                cookieless ="true|false" 
                timeout ="number of minutes" 
                stateConnectionString ="tcpip=server:port" 
                sqlConnectionString ="sql connection string" 
                stateNetworkTimeout ="number of seconds" />

其實(shí)我也很少使用上面這樣完全的配置,但是了解這樣配置的用法是我們解決session過(guò)期的方法之一,下面我們來(lái)看看這段配置的說(shuō)明,下面這段文字來(lái)源于網(wǎng)絡(luò),為了方便大家的查看將其拷貝過(guò)來(lái)了.

mode屬性 設(shè)置將Session信息存儲(chǔ)到哪里

Off 設(shè)置為不使用Session功能

InProc 設(shè)置為將Session存儲(chǔ)在進(jìn)程內(nèi),就是ASP中的存儲(chǔ)方式,服務(wù)器將Session信息存儲(chǔ)在IIS進(jìn)程中,這是默認(rèn)值。

StateServer 設(shè)置為將Session存儲(chǔ)在獨(dú)立的狀態(tài)服務(wù)中。

SQLServer 設(shè)置將Session存儲(chǔ)在SQL Server中。

cookieless屬性 設(shè)置客戶端的Session信息存儲(chǔ)到哪里

ture 使用Cookieless模式

false 使用Cookie模式,這是默認(rèn)值。

timeout屬性 設(shè)置經(jīng)過(guò)多少分鐘后服務(wù)器自動(dòng)放棄Session信息。默認(rèn)為20分鐘 ,也就是我們通常說(shuō)的過(guò)期時(shí)間.

stateConnectionString屬性 設(shè)置將Session信息存儲(chǔ)在狀態(tài)服務(wù)中時(shí)使用的服務(wù)器名稱和端口號(hào),例如:"tcpip=127.0.0.1:42424”。當(dāng)mode的值是StateServer是,這個(gè)屬性是必需的。

sqlConnectionString屬性 設(shè)置與SQL Server連接時(shí)的連接字符串。例如"data source=localhost;Integrated Security=SSPI;Initial Catalog=northwind"。當(dāng)mod e的值是SQLServer時(shí),這個(gè)屬性是必需的 。

stateNetworkTimeout屬性 設(shè)置當(dāng)使用StateServer模式存儲(chǔ)Session狀態(tài)時(shí),經(jīng)過(guò)多少秒空閑后,斷開Web服務(wù)器與存儲(chǔ)狀態(tài)信息的服務(wù)器的TCP/IP連接的。默認(rèn)值是10秒鐘。

第二個(gè)解決此問(wèn)題的方法就是,不使用Inproc模式保存session而改用StateServer模式保存.

使用上面的配置需要關(guān)注下面的幾個(gè)問(wèn)題:

1.要在服務(wù)中開啟“ASP.NET State Service”服務(wù)(設(shè)為“自動(dòng)”)

2.如果stateConnectionString的值不是127.0.0.1或者localhost等代表本地地址的值,需要修改注冊(cè) 表:HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/aspnet_state /Parameters 節(jié)點(diǎn) → 將 AllowRemoteConnection 的鍵值設(shè)置成“1”(1 為允許遠(yuǎn)程電腦的連接,0 代表禁止)→ 設(shè)置 Port (端口號(hào))

3.session中存儲(chǔ)非序列化的對(duì)象,如果違反會(huì)拋出 無(wú)法序列化會(huì)話狀態(tài)。在 “StateServer”或“SQLServer”模式下,ASP.NET 將序列化會(huì)話狀態(tài)對(duì)象,因此不允許使用無(wú)法序列化的對(duì)象或 MarshalByRef 對(duì)象。如果自定義會(huì)話狀態(tài)存儲(chǔ)在“Custom”模式下執(zhí)行了類似的序列化,則適用同樣的限制。 這樣的異常。如果向session存儲(chǔ)自定義的對(duì)象,那么該對(duì)象的類上一定要加上[Serializable]注釋,在本例中需要將user的類型標(biāo)注為可序列化。

下面我們來(lái)看看Inproc模式和StateServer模式的優(yōu)缺點(diǎn):

InProc模式

優(yōu)點(diǎn):獲取session狀態(tài)的速度快,session狀態(tài)直接存儲(chǔ)在iis的進(jìn)程中。

缺點(diǎn):易丟失,經(jīng)常需要重新登錄,實(shí)際上在幾個(gè)項(xiàng)目中我也遇到了這個(gè)問(wèn)題.

StateServer模式

優(yōu)點(diǎn):session狀態(tài)單獨(dú)存儲(chǔ)在一個(gè)進(jìn)程中,不會(huì)因?yàn)閕is或者應(yīng)用的重啟而丟失狀態(tài)

缺點(diǎn):獲取session狀態(tài)的速度比InProc慢一些,畢竟是兩個(gè)不同的進(jìn)程。

也許你想找出session在什么地方弄丟的,那么你可以嘗試下面的操作:

你還記得ASP.NET中有個(gè)global.asax文件嗎?里面有兩個(gè)關(guān)于session的兩個(gè)事件

Session_Start :在一個(gè)新用戶訪問(wèn)應(yīng)用程序 Web 站點(diǎn)時(shí),該事件被觸發(fā)。

Session_End :在一個(gè)用戶的會(huì)話超時(shí)、結(jié)束或他們離開應(yīng)用程序 Web 站點(diǎn)時(shí),該事件被觸發(fā)。

以上就是關(guān)于“session丟失的解決方法”的介紹,如果您想了解更多相關(guān)知識(shí),不妨來(lái)關(guān)注一下動(dòng)力節(jié)點(diǎn)的Java在線學(xué)習(xí),里面的課程內(nèi)容詳細(xì),從入門到精通都有,適合沒(méi)有基礎(chǔ)的小伙伴學(xué)習(xí),希望對(duì)大家能夠有所幫助。

提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 久久精品午夜视频 | 涩涩资源站 | 欧美人视频在线观看视频 | 久久狠色噜噜狠狠狠狠97 | 成 人在线观看视频网站 | 亚洲午夜精品久久久久久抢 | 免费不卡中文字幕在线 | 永久视频免费 | 天天做天天爽爽快快 | 日韩一区二区视频在线观看 | 91香蕉视频苹果 | 亚洲一欧洲中文字幕在线 | 久艹在线观看 | 日本99热 | 日日射天天干 | 狠狠做狠狠做综合日日 | 日本三级全黄三级三级三级口周 | 色香欲综合天天影院综合 | 动漫精品一区二区三区视频 | 最近中文字幕2019免费版日本 | 欧洲成人免费高清视频 | 青青草国产青春综合久久 | 手机看理论片 | 亚洲视频在线精品 | 免费看三级黄色片 | 草草视频在线观看最新 | 日韩精品视频一区二区三区 | 夜夜爽夜夜叫夜夜高潮漏水 | 色综合色狠狠天天综合色hd | 天天干天天舔 | 三级黄色短视频 | 日韩欧美~中文字幕 | 亚洲天天做日日做天天看2018 | 午夜看片| 天天看黄| 超级h荡的辣文小说乱bh | 国产在线欧美精品中文一区 | 波多洁野衣一二区三区 | 久久乐播 | 欧美精品一区在线看 | 五月天亚洲视频 |