我有一个包含图像列表的 MVC View ,这些图像是动态的,因此它们来自 Controller 。为了简化这个 Controller 只有这个代码:
[OutputCache(Duration = 0, NoStore = true, Location = OutputCacheLocation.None)]
public ActionResult RenderImage(int id)
{
return File(@"C:\Users\Pictures\myimage.png", "image/png");
}
我缓存东西并不是为了证明我的观点。
我的 View 请求 8 张图像,所有图像都具有不同的 ID,时间安排很糟糕:
有时它对于某些图像(它们都是相同的)来说很快,并且每次刷新时它都不同,无法在其中找到模式。
该应用托管在 IIS 中,服务器日志中显示的时间表明是服务器消耗了时间:
有人知道为什么会这样吗?如果我单独请求图像(而不是在页面中),它总是很快。
最佳答案
事实证明这是我的解决方案:
[SessionState(System.Web.SessionState.SessionStateBehavior.Disabled)]
user1394965 建议将此作为答案..但他的答案不见了?!
关于c# - 为什么我的 MVC Controller 在提供图像时速度很慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13064877/