ASP.NETのSessionStateとViewStateの違いは何ですか?
5 に答える
セッション状態には、サーバーとの (特定のクライアント/ブラウザー/マシンによる) 特定のセッションに関する情報が含まれています。これは、ユーザーがサイトで何をしているかを追跡する方法です..複数のページにわたって..Web のステートレスな状況の中で。たとえば、特定のユーザーのショッピング カートの内容はセッション データです。セッション状態には Cookie を使用できます。一方、
View Stateは特定の Web ページに固有の情報です。非表示フィールドに格納されるため、ユーザーには表示されません。ページが最後に何をしたかを記憶しているというユーザーの錯覚を維持するために使用されます。詳細については、このページを確認してください。
セッション状態はサーバーに保存され、ViewStateはページに保存されます。
通常、セッション状態は、ユーザーからの非アクティブ期間の後にクリアされます(要求CookieにセッションIDを含む要求は発生しませんでした)。
ビューステートは、後続の投稿で非表示フィールドに投稿されます。
SessionState
- メモリに永続化できるため、高速なソリューションになります。つまり、Webファーム/Webガーデンで状態を共有することはできません。
- データベースに永続化でき、Webファーム/Webガーデンに役立ちます。
- セッションが終了するとクリアされます-通常、非アクティブの20分後。
ViewState
- サーバーとクライアント間で送受信され、帯域幅を占有します。
- 賞味期限はありません。
- Webファーム/Webガーデンで役立ちます
セッションは、主にユーザー固有のデータ[セッション固有のデータ]を保存するために使用されます。セッションの場合、セッションが期限切れになるか、ユーザーがセッションを放棄するまで、セッション全体の値を使用できます。ビューステートは、それが使用されるページにのみスコープを持つデータのタイプです。これらの値を目的のページに転送しない限り、他のページにアクセスできるビューステート値を持つことはできません。また、ビューステートの場合、すべてのサーバー側の制御データは__Viewstateのキーと値のペアとしてサーバーに転送され、ポストバックが発生したときにクライアントの適切なコントロールに転送されてレンダリングされます。