ASP.NETパフォーマンス最適化のための状態キャッシングの表示

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 理解して解決する必要のあるいくつかの問題があります。 それらについては、以下で説明します。

  1. ASP.NET View State 多くの場合重い: ASP.NETアプリケーションのページに豊富で重いコントロールとウィジェットがたくさんある場合、多くのデータがブラウザーとWebサーバーの間を行き来します。 この重いペイロードにより、ASP.NETアプリケーションのパフォーマンスが低下し、帯域幅のコストが高くなります。
  2. ASP.NET View State セキュリティリスクです: また、ビューステートの一部として機密データをクライアントに送信するときにセキュリティリスクをもたらす可能性があります。 このデータは攻撃に対して脆弱であり、深刻なセキュリティの脅威である攻撃者によって改ざんされる可能性があります。 あなたは暗号化することができます ASP.NET View State データですが、これもパフォーマンスコストがかかります。

NCache for 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データベースまたは他のストレージオプションと比較して。

分散キャッシュ保存 ASP.NET View State - NCache
図1:分散キャッシュの保存 ASP.NET View State

NCache .NET/用の非常に高速でスケーラブルな分散キャッシュです。.NET Core、Java、およびNode.js。 また、保存することができます ASP.NET View State 上記の問題を解決するため。

でASP.NETViewStateを構成する NCache

設定するには 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 サーバー上

キャッシュすることで次のメリットが得られます ASP.NET View State in NCache.

  1. ASP.NETのパフォーマンスを向上させる: NCache 要求/応答ペイロードを減らし、全体的な要求時間を改善します。
  2. 帯域幅コストの削減: ペイロードが小さいということは、帯域幅消費コストも大幅に削減されることを意味します。これにより、多額の費用を節約できる可能性があります。
  3. セキュリティ: さてその ASP.NET View State エンコードされた文字列はブラウザに送信されないため、セキュリティ上のリスクはありません。
  4. 高速でスケーラブル ASP.NET View State ストレージ: NCache は、非常に高速でスケーラブルな分散キャッシュです。これは、ASP.NET が次のようなスケーラビリティのボトルネックに直面することがないことを意味します。 ASP.NET View State ストレージ。
  5. ASP.NET View State レプリケーションによる信頼性: NCache 分散キャッシュ内のすべてのデータをインテリジェントに複製します。つまり、何も失うことはありません ASP.NET View State キャッシュサーバーがダウンした場合でも。

高機能 ASP.NET View State のキャッシング機能 NCache

NCache キャッシュと管理のための豊富な機能セットを提供します ASP.NET View State。 以下はそれらのリストです。

  1. 最小サイズのしきい値: NCache あなたがすることができます の最小サイズを指定します ASP.NET View State。これより小さいビュー ステートはキャッシュされません。これにより、負荷の高いビューステートのみをキャッシュできるようになります。
  2. リンク ASP.NET View State セッション状態の場合: また、ご購読はいつでも停止することが可能です リンクする ASP.NET View State セッション状態で。こうすることで、ユーザー セッションの有効期限が切れると、すべてのビュー ステートがキャッシュから自動的に削除されます。
  3. ページレベルの最大カウントしきい値: FIFO方式で、特定のページに対して保持する必要のあるビューステートの数を構成できます。 このようにして、このページに新しいビューステートが作成されるたびに、最も古いビューステートが削除されます。 これにより、必要のないビューステートをキャッシュしないことで、キャッシュサーバーのメモリ消費が最適化されます。
  4. セッションレベルの最大カウントしきい値: ページレベルと同様に、次のことができます ユーザーセッションの最大ビューステート数を指定します FIFO方式で maxViewStatesPerSession。 このように、新しいビューステートが作成されるたびに、最も古いビューステートが削除されます。
  5. ページレベルおよびセッションレベルの設定: 上記のすべての設定をページごとに異なる方法で指定することも、すべてのセッションに共通に保つこともできます。

まとめ

あなたが見たように、 NCache キャッシュすることができます ASP.NET View State サーバー上でASP.NETのパフォーマンスを最適化します。 さらに、 NCache を管理するための豊富な機能セットを提供します ASP.NET View State キャッシュ内でより効率的に。 これにより、複雑なアプリケーションを開発し、これらの機能を使用してさまざまなシナリオを処理できます。

次はどうする?

お問い合わせ(英語)

電話
©著作権 Alachisoft 2002 - . All rights reserved. NCache はダイヤテック株式会社の登録商標です。