To use HttpHandler with a Cache-based transfer method and a per application image ID to transfer C1WebChart to the client, complete the following steps:
<configuration>
<system.web>
<httpHandlers>
<add verb="*" path="c1chartimage.aspx"
type="C1.Web.C1WebChart.ImageHttpHandler,C1.Web.C1WebChart.4"/>
</httpHandlers>
</system.web>
<configuration>
作成されたイメージタグは、次のようになるはずです。
<img id=chart2d1 src='c1WebChartimage.aspx CacheID=
WebForm1.aspx_C1WebChart1_9F0D3D0E' />
"CacheID" 属性は、以下のようなキャッシュ変数へのアクセスを提供します。
WebForm1.aspx_C1WebChart1_9F0D3D0E_ImageBytes(実際のイメージを含む)
WebForm1.aspx_C1WebChart1_9F0D3D0E_Hash (ハッシュコードとイメージの種類を含む)
この場合、_Hash 変数は次の文字列を含みます。
”c1c_104_f1_c69d1f91.png”
この文字列はグラフプロパティの内容から一意に生成されます。C1WebChart 自体が描画するたびに、現在のハッシュをアプリケーションキャッシュ内の既存のハッシュと照合します。変更がなければ、グラフイメージを作成し直す必要はありません。キャッシュは複数のクライアントが使用できるため、単一のイメージを複数のクライアントで共有することもできます。この動作を C1WebChart の内部 HTTPHandler に組み込むと、サーバー負荷の軽減に役立ちます。
キャッシュ変数名は、描画ごとまたはクライアントごとに変わることはなく、変数の値のみが変わります。したがって、描画するたびにキャッシュ変数を削除する必要はありません。
キャッシュ変数は、C1WebChart の内部 HTTPHandler によって絶対的な有効期限、相対的な有効期限、および優先順位を使って挿入されます。これによってスケジュールに基づいて、またはリソースのニーズに応じて削除できます。