ASP.NETがIE 10でユーザー登録済みとセッション紛失の問題解決方法を判断できない

2374 ワード

今日、IE 10に当社のウェブサイトに登录していることを発见した时、他のメニューをクリックすると、ページは自动的に登录ページに戻り、后でチェックすると、IE 10が送ったHTTPヘッダと.AUTH Cookieは問題ありませんが、フォーム検証メカニズム(FormsAuthentication)を使用すると、そのユーザーがログインしていると判断できず、保存されているセッションは常に失われます.後で確認しますこれはASPです.NET 2.0,3.5,4.0のBugsは、これらのバージョンではIE 10のUser-Agentヘッダ文字列を認識できないため、ユーザブラウザのバージョンを認識できず、ASPに導く.NETの特定機能が失効する、ビューアがCookies機能をサポートしていない、Cookieに関連するプログラムコードなどを処理していないため、ブラウザにサーバから戻るSessionタグを保存することができず、紛失等を招くと考える.この問題はマイクロソフトの公式確認を経て、IE 10の1つのBugであり、この問題を修復するために2つのHOTFIXが発表された.皆さんが同じ問題に遭遇した場合、以下の説明を参照してください.KB 26000,888:HotfixはMicrosoftに適用されます。NET Framework 4.0のASP.NET [英語]KB 26058565:Hotfixは.NET Framework 3.5.1のASP.NET [英語]KB 260100:Hotfixは.NET Framework 3.5 SP 1と.NET Framework 2.0 SP 2のASP.NET [英語]簡単な解決方法は、Webサイトのルートディレクトリにブラウザ定義ファイル(browser definition file)を追加することです.
手順は以下の通りです:1.「App_Browsers」フォルダ2を追加します.IE 10などの「*.browser」接尾辞のファイルを追加します.browser. 3.ファイルの内容は次のとおりです.
 
<browsers> 

<browser refID="Default"> 

<capabilities><!-- To avoid wrong detections of e.g. IE10 --> 

<capability name="cookies" value="true" /> 

<capability name="ecmascriptversion" value="3.0" /> 

</capabilities> 

</browser> 

</browsers>