1

それは本当に奇妙なことです-私はmaxthon(インターネットエクスプローラーベースのブラウザー)で完全に機能するウェブサイトを持っています。オペラで始めたところ、一方のサイトのセッション辞書にあるデータがもう一方のサイトでは利用できないことがわかりました...つまり、Welcome.aspxがあり、[次へ]をクリックすると次のコードが実行されます。

Session["sessionData"] = sessionData;
Response.Redirect("~/Models.aspx");  

デバッグ中、operaで実行するとmodels.aspxセッションが空になっていることがわかりますが、maxthonで実行するとすべて問題ありません。誰かが何が間違っている可能性があるか考えていますか?私は無知だから..これはオペラの好みのことですか、それともコードの何かですか?

編集:Session.IsNewSessionをチェックし、maxthonで実行している間、isnewsessionはfalseに設定されていますが、オペラではtrueです。オペラでは、新しいページに移動すると、どういうわけか新しいセッションが作成されるようです...

4

3 に答える 3

0

ASP.NETセッションは、ブラウザにCookieとして保存されるキーによって保存されます。OperaがCookieを受け入れているかどうかを確認します。これは、ASP.NETセッションが正しく機能するために必要です。

于 2009-01-05T20:56:30.840 に答える
0

Opera で Cookie を無効にしている可能性があります。セッションは、識別子を Cookie に格納することによって (web.config で Cookieless として指定されていない限り) 機能します。ブラウザがアクセスを許可しない場合、サーバーはデータを見つけることができません

于 2009-01-05T20:58:00.777 に答える
0

最初のヒットでセッションを書き込む場合は、次のことを行う必要があります

Response.Redirect("nextpage.asp", false);

そうしないと、応答ストリーム全体が書き込まれず、Cookie が書き込まれていない可能性があります。代わりに、cookieless セッションを選択できます。しかし、セッションハイジャックの可能性があります。

于 2009-01-05T21:06:02.803 に答える