118

ASP.NETのSessionStateとViewStateの違いは何ですか?

4

5 に答える 5

145

セッション状態には、サーバーとの (特定のクライアント/ブラウザー/マシンによる) 特定のセッションに関する情報が含まれています。これは、ユーザーがサイトで何をしているかを追跡する方法です..複数のページにわたって..Web のステートレスな状況の中で。たとえば、特定のユーザーのショッピング カートの内容はセッション データです。セッション状態には Cookie を使用できます。一方、
View Stateは特定の Web ページに固有の情報です。非表示フィールドに格納されるため、ユーザーには表示されません。ページが最後に何をしたかを記憶しているというユーザーの錯覚を維持するために使用されます。詳細については、このページを確認してください

于 2009-04-09T09:32:03.800 に答える
96

セッション状態はサーバーに保存され、ViewStateはページに保存されます。

通常、セッション状態は、ユーザーからの非アクティブ期間の後にクリアされます(要求CookieにセッションIDを含む要求は発生しませんでした)。

ビューステートは、後続の投稿で非表示フィールドに投稿されます。

于 2009-04-09T09:27:29.693 に答える
33

SessionState

  • メモリに永続化できるため、高速なソリューションになります。つまり、Webファーム/Webガーデンで状態を共有することはできません。
  • データベースに永続化でき、Webファーム/Webガーデンに役立ちます。
  • セッションが終了するとクリアされます-通常、非アクティブの20分後。

ViewState

  • サーバーとクライアント間で送受信され、帯域幅を占有します。
  • 賞味期限はありません。
  • Webファーム/Webガーデンで役立ちます
于 2009-04-09T09:27:02.673 に答える
5

セッションは、主にユーザー固有のデータ[セッション固有のデータ]を保存するために使用されます。セッションの場合、セッションが期限切れになるか、ユーザーがセッションを放棄するまで、セッション全体の値を使用できます。ビューステートは、それが使用されるページにのみスコープを持つデータのタイプです。これらの値を目的のページに転送しない限り、他のページにアクセスできるビューステート値を持つことはできません。また、ビューステートの場合、すべてのサーバー側の制御データは__Viewstateのキーと値のペアとしてサーバーに転送され、ポストバックが発生したときにクライアントの適切なコントロールに転送されてレンダリングされます。

于 2009-04-09T09:34:33.123 に答える