ASP.NET View State は、クライアント側の状態管理メカニズムを提供するASP.NETの強力な機能です。 これは、クライアント要求の完全なラウンドトリップ間でページと制御値を保持するのに役立ちます。 これにより、HTTPなどのステートレスプロトコルを介した完全なプログラミング機能が提供されます。
ASP.NET View State クライアントに送信されるすべての応答の一部として、エンコードされたBase64文字列としてページの非表示フィールドに格納され、ポストバックの一部としてクライアントによってサーバーに返されます。
<input id = "__VIEWSTATE"
type = "hidden"
name = "__VIEWSTATE"
value = "/wEPDwUJNzg0MDMxMDA1D2QWAmYPZBYCZg9kFgQCAQ9kFgICBQ9kFgJmD2QWAgIBD
xYCHhNQcm2aW91c0NvbnRyb2xNb2RlCymIAU1pY3Jvc29mdC5TaGFyZVBvaW50Lld
lYkNvbnRyb2xzLlNQQ29udHJbE1vZDA1XzRlMjJfODM3Y19kOWQ1ZTc2YmY1M2IPD
2…=="/>
非常に便利ですが ASP.NET View State 理解して解決する必要のあるいくつかの問題があります。 それらについては、以下で説明します。
解決できるXNUMXつの方法 ASP.NET View State 問題は実際の ASP.NET View State Webサーバー上で、その代わりに一意のトークン(またはID)をブラウザーに送信して、ブラウザーが次回このトークンをWebサーバーに送り返すことができるようにします。 次に、Webサーバーはこのトークンを使用して適切なものを見つけます ASP.NET View State その店で。 以下は、の代わりに使用されているトークンの例です。 ASP.NET View State.
<input type = "hidden"
name = "__VIEWSTATE"
id = "__VIEWSTATE"
value = "vs:cf8c8d3927ad4c1a84da7f891bb89185" />
しかし ASP.NET View State Webサーバーに保存できますが、次のHTTP要求が別のWebサーバーに送信される可能性があるため、ASP.NETアプリケーションが負荷分散されたWebファームで実行されている場合は理想的ではありません。 したがって、保存する必要があります ASP.NET View State すべてのWebサーバーからアクセスできる共有ストア内。
保管するのに最適な場所 ASP.NET View State サーバー上にあります 分散キャッシュ。 このようにして、すべてのWebサーバーに共通のストアを作成できるだけでなく、非常に多くのWebサーバーを作成することもできます。 高速でスケーラブルなメモリ内ストア SQLServerデータベースまたは他のストレージオプションと比較して。
NCache .NET/用の非常に高速でスケーラブルな分散キャッシュです。.NET Core、Java、およびNode.js。 また、保存することができます ASP.NET View State 上記の問題を解決するため。
設定するには ASP.NET View State あなたはインストールする必要があります AspNet.ViewState。NCache NuGetパッケージ 前提条件として。 次に、する必要があります App_browserファイルを構成します NCache プラグページアダプタと web.configファイルを構成します アプリケーションで、ビューステートの構成セクションを登録し、登録された構成セクションの設定を指定します。 を参照してください NCache ASP.NET View State ドキュメント ステップバイステップの構成用。
同じキャッシュがビュー ステート キャッシュとその他のデータに使用されている場合、次のことができます。 ビューステートデータをフェッチする 使用して、 NC_ASP.net_viewstate_data タグ:
Hashtable allViewStateData = cache.GetByTag(new Tag("NC_ASP.net_viewstate_data"));
キャッシュすることで次のメリットが得られます ASP.NET View State in NCache.
NCache キャッシュと管理のための豊富な機能セットを提供します ASP.NET View State。 以下はそれらのリストです。
あなたが見たように、 NCache キャッシュすることができます ASP.NET View State サーバー上でASP.NETのパフォーマンスを最適化します。 さらに、 NCache を管理するための豊富な機能セットを提供します ASP.NET View State キャッシュ内でより効率的に。 これにより、複雑なアプリケーションを開発し、これらの機能を使用してさまざまなシナリオを処理できます。