2016-11-07 8 views
1

1つの大きな疑問がありますセッションIDがすべてのWebページで同じではないのはなぜですか?

すべてのWebページでセッションIDが同じではないのはなぜですか?

CODE:webpage2.aspx.cs

String sess2 = Session.SessionID.ToString(); 

webpage1.aspx.csで

String sess1 = Session.SessionID.ToString(); 

私は私のwebpage1をロードします。 aspx、それは1つを示します一意のセッションIDを作成し、webpage2.aspxに移動して別の新しい一意のセッションIDを表示します

両方のセッションID(sess1、sess2)が同じである必要があります。

なぜでしょうか?

ともセッションIDがすべてのaspxページに

答えて

1

が原因と主張する方法:

、ASP.NETは、セッションデータ用のストレージを割り当てませんクッキーベースのセッション状態を使用してSessionオブジェクトが使用されるまで。その結果、セッションオブジェクトがアクセスされるまで、各ページ要求ごとに新しいセッションIDが生成されます。アプリケーションでセッション全体の静的セッションIDが必要な場合は、アプリケーションのGlobal.asaxファイルにSession_Startメソッドを実装し、セッションオブジェクトにデータを格納してセッションIDを修正するか、セッションオブジェクトに明示的にデータを格納するアプリケーション。

このように使用する必要がありますSession["Id"] = 0;このような。

C#コードで使用しないと、すべてのリクエストで新しいものが生成されます。

SessionId

関連する問題