IHttpHandler
サーバー上のいくつかの異なるクラスに対していくつかの AJAX 要求を行う jQuery Mobile アプリを作成しています。ハンドラーはすべて JSON または JSONP を返しcontext.Session.SessionID
、デバッグの目的で JSON に を含めます。最初のハンドラーに 1 つの要求を行い、セッション ID "2jysbehwyxlne0knatltcb2z" を取得します。別のハンドラーに別のリクエストを行うと、セッション ID "qy3v251fxrxesbgqeobqvaza" が返されます。これは互いに数秒以内です。何が起こっている?セッションが長時間経過して期限切れになるまで、セッション ID は同じであると予想されます。
同じタブで AJAX を使用するのではなく、独自のタブでリクエストを開くと、同じセッション ID が返されます。そのため、認証するためのリクエストと、データを取得するための他のリクエストの場合、これらのリクエストがページ内の AJAX リクエストとして発生すると、セッション ID が異なります。Chrome のコンソールの [ネットワーク] タブを参照して右クリックし、各要求を新しいタブでリンクを開くと、同じセッション ID を持つ期待どおりに機能します。
で jQuery Mobile アプリケーションを実行しており、問題があればhttp://localhost
でハンドラにリクエストを送信しています。https://localhost
私のハンドラはすべて実装していますIRequiresSessionState
。 この質問は私のものと同じように見えますが、その唯一の答えは実装IRequiresSessionState
することです。これは既に行っています。
編集: この質問は関連している可能性がありますが、Chrome でこの動作を観察しています。
編集: jQueryのgetJSON
機能を使用してAJAXリクエストを作成しています。 Cookieに関するこの質問が関連している可能性があります。getJSON