目前我有以下行動,從我的數據庫返回的文件(圖片,PDF的,等等):如何緩存FileContentResult以獲得性能?
//
// GET: /FileManager/GetFile/ID
[OutputCache(Duration = 600, VaryByParam = "ID")]
public ActionResult GetFile(int ID)
{
FileService svc = new FileService(new SqlFileRepository(base.ConnectionString));
KsisOnline.Data.File result = svc.GetFileByID(ID);
return File(result.Data, result.MimeType, result.UploadFileName);
}
我使用OutputCache
屬性,但我不知道我是否正確或使用它如何爲此優化它。因爲代碼的立場,我似乎得到緩存功能在Firefox(3),但不是IE(7)。出於某種原因,IE每次都從數據庫請求映像(這顯然是殺手級的不好),我不知道如何解決它。確定IE不支持標準,但也許我仍然沒有遵循一些首選的緩存約定。我真的很感謝一些幫助,所以我得到了最小的數據庫命中和緩存支持跨瀏覽器。
編輯: 要查看上面的代碼中的動作,或者自己與瀏覽器/工具型材它,請參閱this link。
可能重複【如何與FileResult在返回304個狀態ASP.NET MVC RC1](http://stackoverflow.com/questions/602104/how-return-304-status-with-fileresult-in-asp-net-mvc-rc1) – 2012-12-22 23:52:22