明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

C# 不能取得cookie處理方案

[摘要]C# 不能獲取cookie解決方案最經(jīng)在搞一個(gè)使用cookie來登錄的系統(tǒng),在調(diào)試環(huán)境是沒有任何問題,發(fā)布到服務(wù)器上就是不能登錄,使用 Firefox可以的,只要使用IE內(nèi)核的就是不行,解決過程:清...

 

C# 不能獲取cookie解決方案
最經(jīng)在搞一個(gè)使用cookie來登錄的系統(tǒng),在調(diào)試環(huán)境是沒有任何問題,發(fā)布到服務(wù)器上就是不能登錄,使用 Firefox可以的,只要使用IE內(nèi)核的就是不行,

解決過程:

清除瀏覽器的cookie,不行。

在源碼上顯示是否有寫入cookie,和能不能取到cookie,結(jié)果發(fā)現(xiàn)是不能取,起初懷疑是IE8的問題,F(xiàn)irefox可以的,在網(wǎng)上查了好多相關(guān)的內(nèi)容都無非是沒有加超期,沒有加domain,這些都是沒有問題

最后仔細(xì)的研究了一下代碼

 HttpCookie objCookie = new HttpCookie("ValidateCode");
objCookie.Value = str_ValidateCode;
objCookie.Path = "/";
objCookie.Expires = DateTime.Now.Add(new TimeSpan(0, 0, 1, 0)); //DateTime.Now.AddMinutes(1);

主要到紅色的字體沒有,問題就在這,這里是取的服務(wù)器時(shí)間,如果客戶端跟服務(wù)器時(shí)間相差1分鐘就問題了,你還沒有登錄就已經(jīng)過期了,檢查一下服務(wù)器時(shí)間結(jié)果發(fā)現(xiàn)相差4分鐘,設(shè)置一下服務(wù)器時(shí)間,就可以登錄。

這樣不能解決根本問題,需要把這個(gè)過期時(shí)間取客戶端才可以。

 


學(xué)習(xí)教程快速掌握從入門到精通的電腦知識(shí)