ComponentOne Studio TrueChart for ASP.NET (C1WebChart3D) ヘルプ
チュートリアル5 - セッションベースの転送メソッドとアプリケーションごとのイメージ ID と共に HTTPHandler を使う
C1WebChart3D チュートリアル > HTTPHandler ベースの描画チュートリアル > チュートリアル5 - セッションベースの転送メソッドとアプリケーションごとのイメージ ID と共に HTTPHandler を使う

セッションベースの転送メソッドとアプリケーションごとのイメージ ID と共に HTTPHandler を使うには、以下の手順を実行します。

  1. C1WebChart3D をフォームに配置します。[確認] ダイアログボックスが表示されます。
  2. 「はい」をクリックして web.config ファイルに HttpHandler を追加します。この設定により、アプリケーションで C1WebChart3D の組み込み HttpHandler 機能が利用可能になります。
    下記のエントリを Web.config ファイルに追加されます:
    <configuration>
      <system.web>
    <httpHandlers>
    <add verb="*" path="c1chart3Dimage.aspx"
    type="C1.Web.C1WebChart3D.ImageHttpHandler,C1.Web.C1WebChart3D.4"/>
    </httpHandlers>
    </system.web>
    <configuration>
  3. 必要に応じて、データと外観要素を設定します。
  4. C1WebChart3D の以下のプロパティを設定します。
    • ImageRenderMethod プロパティを ImageRenderMethod.HttpHandler に設定します。
    • ImageTransferMethod プロパティを ImageTransferMethod.Session に設定します。
    • ImageIDGeneration プロパティを ImageIdGeneration.Application に設定します。
    • ImageUri プロパティが ""(空白)であることを確認します。

プログラムを実行し、次のことに注意してください:

作成されたイメージタグは、次のようになるはずです。

<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 に組み込むと、サーバー負荷の軽減に役立ちます。

セッション変数名は次に描画するときもそのままで、変数の値だけが変わります。したがって、描画するたびにセッション変数を削除する必要はありません。