トップ回答者
複数ブラウザ起動時のセッション共有 (IE8 / Vista)

質問
-
いつも助けていただきありがとうございます。
ASP.NET3.5(VS2008/VB.NET)で開発を行っています。
顧客環境に IE6 と IE8 が混在している為、
開発環境(動作確認用)として、WinXP + IE6 と WinVista + IE8 の
2種類の環境を用意しました。OSのスタートメニューから IE を2つ起動し、Web サイトにアクセス
すると、IE6 の方はそれぞれ別々のセッションID が利用されます。
これは想定どおりの動きと思っています。ところが、IE8 で同様のことを行うと、2枚の IE で同一のセッション
ID が利用されている事が確認できました。
(1枚目のIEのメニューから新規ウィンドウで開いているのではない、
にもかかわらずです。)
IE8 の設定かなにかに起因するのかと調査をしているのですが、解決
策にたどり着けません。何が原因なのでしょうか?
解決策(IE6と同じ動きにする方法)はあるのでしょうか?■以下参考
サーバに簡単な Web サイトを作ってボタン押下でポストバックし、
サーバサイドのボタン押下イベントハンドラ内で以下のコードを
実行して確認しています。Session("A") = "A"
Response.Write(Session.SessionID)サーバは Win2008R2(IIS7.5)です。
---
よろしくお願いいたします。
回答
-
> 何が原因なのでしょうか?
すでに解決済みかもしれませんが、参考になりそうなページへのリン
クを貼っておきます。IE8 のプロセスモデルについて
http://blogs.technet.com/b/jpieblog/archive/2010/05/10/3331472.aspx
> 解決策(IE6と同じ動きにする方法)はあるのでしょうか?上に紹介したページにありますが、セッションを共有しないようにす
るにはレジストリを書き換えるほか方法はなさそうです。(それは、
もっとユーザーにやってもらえないと思いますが)- 回答としてマーク TrimmerJP 2011年12月12日 2:34
すべての返信
-
自己レスです。
こちらのサイトに IE8 の起動オプション付きでの解決方法が載っていましたが、
http://sites.google.com/site/nysworkshop/ie8windowsessionこのサイトにあるようにユーザにやってもらえそうにないので、コーディングで
工夫するようにします。お騒がせしました。
-
> 何が原因なのでしょうか?
すでに解決済みかもしれませんが、参考になりそうなページへのリン
クを貼っておきます。IE8 のプロセスモデルについて
http://blogs.technet.com/b/jpieblog/archive/2010/05/10/3331472.aspx
> 解決策(IE6と同じ動きにする方法)はあるのでしょうか?上に紹介したページにありますが、セッションを共有しないようにす
るにはレジストリを書き換えるほか方法はなさそうです。(それは、
もっとユーザーにやってもらえないと思いますが)- 回答としてマーク TrimmerJP 2011年12月12日 2:34
-
SurferOnWww さま
情報ありがとうございました。大変参考になりました。勉強不足です。。。
結局初期画面に以下のコードをいれ、起動画面に遷移するようにしました。Session.Abandon() Dim c As New HttpCookie("ASP.NET_SessionId", "") Response.Cookies.Add(c)
Web で検索すると、これはこれで、問題を孕んでいるようですが(※)、
社内イントラネットシステムだからということで OK を頂きましたのでこの方法で今回は進めています。