6

Asp.netのセッションは、Webサイトのユーザー間で共有されますか?

クライアント1は、次のようにページロードのセッションに値を格納しました。

 Session["editStudentID"] = editStudentID.ToString();

クライアント2クライアント1の同じページに同時にアクセスしているため、他のセッションが保存されます

Session["editStudentID"] = editStudentID.ToString();

したがって、クライアント1または2のセッションが互いに中断される可能性がありますか?!または、セッションはクライアントごとに一意です

4

3 に答える 3

7

いいえ、共有されていません。

クライアントが新しいセッションを開始する要求を送信しているサーバーは、そのクライアントに新しいセッションIDを割り当てます。これは、クライアントごとの一意のIDまたはトークンです。サーバーへの各投稿または取得は、通常、サーバーにそれが誰であるか(識別子)を伝えるために、そのセッションIDまたはトークンをサーバーに送信します。

また、すべてのセッション変数データはサーバーに保存されます。

于 2013-02-15T02:24:59.930 に答える
3

セッションはセッションごとのIDであり、セッションIDは通常ブラウザごとです(CookieまたはURLパラメータを介して)。

于 2013-02-15T01:49:44.310 に答える
1

いいえそうではありません。

クライアントが初めてサービスに接続するとき、最初の応答には、そのクライアントからの後続の接続を追跡するために使用されるCookieが含まれます。その後、セッションオブジェクトを参照して、バッキングセッションストア内のどのデータが参照されているかを判断するたびに、Cookieの値が使用されます。

したがって、リクエストでセッションデータを変更すると、そのクライアントのセッションデータのみが変更されます。複数のクライアント間でデータを共有する必要がある場合は、そのための別のメカニズム(静的辞書など)を提供する必要があります。

于 2013-02-15T01:52:40.950 に答える