2012-01-20 5 views
0

私のアプリケーションは、スティッキセッションを使用しないWebファームにデプロイされます(残念ながら、これはオプションではありません)。私はグラフの画像をWebサービスに書き込んでそこから読み込みたいので、クライアントブラウザが画像がレンダリングされたのと同じサーバに常にリダイレクトされるとは限りません。セキュリティ上の制約からファイルサーバーを使用することはできず、IISサービスからwcfサービスに直接アクセスすることもできません。ASP.NET MS Chartでは、Httpハンドラを使用してウェブサービスからTemporyイメージを読み書きできます。

答えて

0

だからあなたが求めている:

クライアント - > WSコールを - > ?? - >チャートを生成するHTTPHandler?

ウェブサービスの一部が必要な理由がわかりません。

HTTPHandlerを使用して、これが本当にうまく動作するイメージを生成できます。チャートオブジェクトをインスタンス化し、それを出力ストリームに書き込むだけです。

ネットからのストリームへの保存に関するサンプルコードです。

Response.ContentType = "image/png"; 
//Response.AddHeader("Content-Disposition", "attachment; filename=test.png"); // You only want this to save as attachment 
Chart4.SaveImage(Response.OutputStream, ChartImageFormat.Png);   
Response.End(); 
+0

これは正しい方向に向かいました。私は便利な以下のリンクを見つけました。http://www.4guysfromrolla.com/articles/093009-1.aspx http://stackoverflow.com/questions/46788/how-to-bind-a-memorystream-to-aspimage-control私は、MS Chartコントロールから作成されたメモリストリームを返し、次に前のページのImageUrlでasp:imageを追加したページを作成しました。私は、Webサービスの背後にイメージチャートを格納する必要はありませんでした – Keith

+0

うん、いいね。私が追加することの1つは、ページではページライフサイクル全体のオーバーヘッドがありますが、HTTPHandlerではもちろんそうではありません - したがって、カスタムイメージを実装するための好ましい方法はあなたの要件にもよります。 –

関連する問題