セッションベースの転送メソッドとアプリケーションごとのイメージ ID と共に HTTPHandler を使うには、以下の手順を実行します。
<configuration>
<system.web>
<httpHandlers>
<add verb="*" path="c1chart3Dimage.aspx"
type="C1.Web.C1WebChart3D.ImageHttpHandler,C1.Web.C1WebChart3D.4"/>
</httpHandlers>
</system.web>
<configuration>
作成されたイメージタグは、次のようになるはずです。
<img id=C1WebChart3D1 src='c1chart3dimage.aspx SessionID= WebForm1.aspx_C1WebChart1_9F0D3D0E' />
"SessionID" 属性は、グラフの各描画において共通です。これによって、変更が発生しないかぎり既存のイメージを再利用できます。各ブラウザセッションのセッションオブジェクトがそれぞれ異なるため、各クライアントのデータは安全となります。"SessionID" 属性は、以下のようなセッション変数へのアクセスを提供します。
WebForm1.aspx_C1WebChart1_9F0D3D0E_ImageBytes(実際のイメージを含む)
WebForm1.aspx_C1WebChart1_9F0D3D0E_Hash (ハッシュコードとイメージの種類を含む)
この場合、_Hash 変数は次の文字列を含みます。
“c1c_104_f1_c69d1f91.png”
この文字列はグラフプロパティの内容から一意に生成されます。C1WebChart3D 自体が描画するたびに、現在のハッシュをセッションオブジェクト内の既存のハッシュと照合します。変更がなければ、グラフイメージを作成し直す必要はありません。この動作を C1WebChart3D の内部 HTTPHandler に組み込むと、サーバー負荷の軽減に役立ちます。
セッション変数名は次に描画するときもそのままで、変数の値だけが変わります。したがって、描画するたびにセッション変数を削除する必要はありません。