ご存知かもしれませんが、 ASP.NETMVCのRC1バージョンにFileResultという新しいActionResultがあります。
これを使用すると、アクションメソッドは画像を動的にブラウザに返すことができます。このようなもの:
public ActionResult DisplayPhoto(int id)
{
Photo photo = GetPhotoFromDatabase(id);
return File(photo.Content, photo.ContentType);
}
HTMLコードでは、次のようなものを使用できます。
<img src="http://mysite.com/controller/DisplayPhoto/657">
画像は動的に返されるため、返されたストリームをキャッシュして、データベースから画像を再度読み取る必要がないようにする方法が必要です。私たちはこのようなものでそれを行うことができると思います、私はよくわかりません:
Response.StatusCode = 304;
これは、キャッシュに画像がすでにあることをブラウザに通知します。StatusCodeを304に設定した後、アクションメソッドで何を返すかわからないだけです。nullなどを返す必要がありますか?