1

概要: Windows エクスプローラーを使用して ASP.NET Web サイトを参照する場合、ポップアップ ウィンドウは親ウィンドウからセッション Cookie を「借用」しません。

詳細:

ASP.NET Web サイト (.NET 2.0) に取り組んでいます。フォーム認証を使用しています。セッションを処理するために Cookie を使用する必要があります。

ページにボタンがあります。ユーザーがそれをクリックすると、ポップアップ ウィンドウが開きます。ポップアップには、以前に親ブラウザー ウィンドウから設定されたセッション変数を使用する ASPX ページが表示されます。IE (6、7、8) と Firefox 2.0 を使用して Web サイトをテストしてきました。これらすべてのブラウザーで、ポップアップ ウィンドウは親ブラウザー ウィンドウと同じセッションにアクセスでき、すべて正常に動作します。

ポップアップ ウィンドウにエラーが表示されるというバグがクライアントから報告されました。ログ ファイルを見ると、ポップアップ ページがセッション変数にアクセスしようとした時点で NullReferenceException であることがわかります。クライアントと話していると、彼はメインの Web サイトを Windows Explorer で開いたと言っていました!!!

テスト マシンで問題を再現することに成功し、ポップアップが新しいセッションを使用していることを確認しました。

マシンには Win XP と IE6 がインストールされている必要があります。IE7 では、Web サイトは正常に動作します。

4

2 に答える 2

0

IE 8 でも同じ問題が発生しましたが、Firefox、Google Chrome、または IE 6 では問題は発生しません。私の場合、セッションが実際に機能していることがわかりますが、認証が終了し、ユーザーがログインページに再度リダイレクトされてログインできるようになります...

于 2008-12-16T11:49:02.267 に答える
0

ここでの私の疑いは、Windows エクスプローラーから開いた場合 (これが何を意味するのかを完全に理解しているわけではありません)、送り返されているセッション cookie がどこにも保存されていないため、ポップアップ ウィンドウがその要求に含めることができないということです。これを回避する方法がわかりません。このアプリケーションへのアクセス手段がサポートされていないことをクライアントに伝えることはできませんか?

于 2008-10-14T12:33:30.753 に答える