私のアプリケーションはasp.netMVC3で、イメージハンドラーを使用してdicomビューアーを開発しましたが、うまく機能します。現在の課題はCTカーディックMPRイメージであり、3000を超える場合もあり、ブラウザーのキャッシュに開くことができませんでした。メモリ不足エラーが発生します。回避策として、一度に10個のファイルを開くだけです。正常に動作しますが、回転では動作しません(回転ビューの反時計回りの選択した軸)。ハンドラーで次のスクリプトを使用しています。
MemoryStream objMemoryStream = new MemoryStream();
objImage.Save(objMemoryStream, System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] imageContent = new byte[objMemoryStream.Length];
objMemoryStream.Position = 0;
objMemoryStream.Read(imageContent, 0, (int)objMemoryStream.Length);
context.Response.ContentType = "image/jpeg";
context.Response.BinaryWrite(imageContent);
私の質問は、画像をセッション変数に保存するか、画像をSQLテーブルにバイナリデータとして保存して、更新を高速化する方がよいかということです。よろしくお願いします。