ASP.NETのビュー状態は、クライアントからのリクエストの往復間でページやコントロールの値を保持することで、クライアント側の状態を管理する組み込み機能です。これにより、HTTPなどのステートレスなプロトコル上で、状態に完全なプログラミング機能を与えることができます。
この状態は、クライアントに送信されるすべてのレスポンスの一部として、ページ上の隠しフィールドにエンコードされたBase64文字列として保存されます。クライアントからは、ポストバックの一部としてサーバーに返されます。
<input id = "__VIEWSTATE"
type = "hidden"
name = "__VIEWSTATE"
value = "/wEPDwUJNzg0MDMxMDA1D2QWAmYPZBYCZg9kFgQCAQ9kFgICBQ9kFgJmD2QWAgIBD
xYCHhNQcm2aW91c0NvbnRyb2xNb2RlCymIAU1pY3Jvc29mdC5TaGFyZVBvaW50Lld
lYkNvbnRyb2xzLlNQQ29udHJbE1vZDA1XzRlMjJfODM3Y19kOWQ1ZTc2YmY1M2IPD
2...=="/>
ASP.NETのビュー状態は非常に便利ですが、解決すべきいくつかの問題点があります。それらについては以下で説明します。
これらの ASP.NET ビューの状態の問題を解決する 1 つの方法は、実際の ASP.NET ビュー状態 Webサーバー上で処理を行い、代わりに一意のトークン(またはID)をブラウザに送信します。これにより、ブラウザは次回このトークンをWebサーバーに送り返すことができます。Webサーバーはこのトークンを使用して、ストア内の適切なASP.NETビュー状態を検索します。以下に、トークンの使用例を示します。
<input type = "hidden"
name = "__VIEWSTATE"
id = "__VIEWSTATE"
value = "vs:cf8c8d3927ad4c1a84da7f891bb89185" />
ASP.NETのビュー状態はWebサーバーに保存することもできますが、ロードバランシングされたWebファームでASP.NETアプリケーションを実行している場合は、次のHTTPリクエストが別のWebサーバーに送信される可能性があるため、理想的ではありません。したがって、ASP.NETのビュー状態は、すべてのWebサーバーからアクセス可能な共有ストアに保存する必要があります。
サーバー上で ASP.NET ビューの状態を保存するのに最適な場所は、 分散キャッシュ。 このようにして、すべてのWebサーバーに共通のストアを作成できるだけでなく、非常に多くのWebサーバーを作成することもできます。 高速でスケーラブルなメモリ内ストア SQLServerデータベースまたは他のストレージオプションと比較して。
NCache は、.NET、Java、Python、Node.js向けの非常に高速でスケーラブルな分散キャッシュです。また、 ASP.NET ビュー状態 上記の問題を解決するため。
ASP.NET View State を構成するには、 AspNet.ViewState。NCache NuGetパッケージ 前提条件として、 アプリブラウザ ファイル NCache ページアダプタを差し込みます。次に、 web.configファイルを構成します アプリケーションでView Stateを構成用に登録し、登録済みの構成セクションの設定を指定します。 NCache ASP.NET View State ドキュメント ステップバイステップの構成用。
同じキャッシュがビュー ステート キャッシュとその他のデータに使用されている場合、次のことができます。 ビューステートデータをフェッチする NC_ASP.net_viewstate_data タグを次のように使用します。
Hashtable allViewStateData = cache.SearchService.GetByTag(new Tag("NC_ASP.net_viewstate_data"));
ASP.NET ビューの状態をキャッシュすることで、次のメリットが得られます。 NCache.
NCache ASP.NET ビューの状態をキャッシュおよび管理するための豊富な機能を提供します。以下にその一覧を示します。
あなたが見たように、 NCache この機能を使用すると、サーバー上で ASP.NET ビューの状態をキャッシュして、ASP.NET のパフォーマンスを最適化できます。また、キャッシュ内で ASP.NET ビューの状態をより効率的に管理するための豊富な機能も提供されます。これにより、複雑なアプリケーションを開発し、これらの機能を使用してさまざまなシナリオに対応できます。
©著作権 Alachisoft 2002 - . All rights reserved. NCache はダイヤテック株式会社の登録商標です。