asp.net:インターネットエクスプローラーでの作業中にセッションに入れられたデータは利用可能ですが、オペラではありません

StackOverflow https://stackoverflow.com/questions/414488

  •  03-07-2019
  •  | 
  •  

質問

それは本当に奇妙なことです-私はmaxthon(インターネットエクスプローラーベースのブラウザー)で完全に動作するWebサイトを持っています。私はオペラでそれを開始し、一方のサイトのセッション辞書に入れられたデータが他方では利用できないことを発見しました...私はWelcome.aspxを持っていることを意味し、次をクリックすると次のコードが実行されます:

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

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

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

役に立ちましたか?

解決

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

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

それ以外の場合、応答ストリーム全体を書き込まず、Cookieが書き込まれなかった可能性があります。代わりに、クックレスセッションを選択できます。しかし、その後、セッションハイジャックへのあなたのオープン。

他のヒント

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

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top