日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

ASP.NET在IE10中無法判斷用戶已登入及Session丟失問題解決方法

今天發(fā)現(xiàn)在IE10中登錄我公司的一個網站時,點擊其它菜單,頁面總會自動重新退出到登錄頁,后檢查發(fā)現(xiàn),IE10送出的HTTP頭,和.AUTH Cookie都沒問題,但使用表單驗證機制(FormsAuthentication)卻無法判斷該用戶已登入,保存的Session總會丟失.

后查實這是ASP.NET 2.0,3.5和4.0的Bugs,因這些版本無法識別IE10的User-Agent標頭字符串,所以無法識別用戶瀏覽器的版本,從而導至了ASP.NET的特定功能失效,認為游覽器不支持Cookies功能,不處理與Cookie相關的程式碼等,從而在瀏覽器中不保存服務器返回的Session標識,造成丟失等.

這個問題早經微軟官方確認,是IE10的一個Bug,也發(fā)布了兩個HOTFIX專門用來修復這個問題,各位如遇到同樣的問題,可參考以下說明:
KB2600088: Hotfix 適用在 Microsoft.NET Framework 4.0 中的 ASP.NET [英文]
KB2608565: Hotfix適用在 .NET Framework 3.5.1 中的 ASP.NET [英文]
KB2600100: Hotfix適用在 .NET Framework 3.5 SP1與 .NET Framework 2.0 SP2 中的 ASP.NET [英文]
簡單的解決方法是,在網站根目錄,新增一個瀏覽器定義文件(browser definition file)

步驟如下:
1.添加一個"App_Browsers"文件夾
2.添加一個"*.browser"后綴的文件,如IE10.browser.
3.添加文件內容如下:
復制代碼 代碼如下:
browsers
browser refID="Default"
capabilities!-- To avoid wrong detections of e.g. IE10 --
capability name="cookies" value="https://www.rkxy.com.cn/dnjc/true" /
capability name="ecmascriptversion" value="https://www.rkxy.com.cn/dnjc/3.0" /
/capabilities
/browser
/browsers

設定完成,問題即可解決您可能感興趣的文章:asp.net(C#)清除全部Session與單個Session的方法C#程序中session值的保存方法以及轉為字符串的方法總結C#程序中session的基本設置示例及清除session的方法ASP.NET在底層類庫中獲取Session C#類中獲取SessionC#實現(xiàn)簡單獲取及設置Session類C#操作session的類實例asp.net(c#)有關 Session 操作的幾個誤區(qū)IIS服務器中 ASP.NET State Service 開啟后 Session 仍容易丟失的問題終極解決辦法asp.net刪除文件session丟失C# SESSION丟失問題的解決辦法

    推薦閱讀