【发布时间】:2017-01-18 23:48:56
【问题描述】:
我在一个页面上返回大约 20 个缩略图。问题是最后几个(总是在 5~ 左右)加载非常缓慢。
我是否像加载它们一样没有区别
using(FileStream ltFS = new FileStream(Server.MapPath("~/Themes/Content/Images/nocover.png"), FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite))
或
return File(Server.MapPath("~/Themes/Content/Images/nocover.png"), "image/png");
我在谷歌上找到了这个
[SessionState(System.Web.SessionState.SessionStateBehavior.Disabled)]
如果我尝试这样做,我会收到错误
SessionStateTempDataProvider 类需要启用会话状态。
【问题讨论】:
-
这些请求是针对网络上的单独服务器计算机还是您向自己的计算机发出 localhost 请求?
-
它们大小为 14kb,在同一台机器上。
-
我知道这可能是配置错误,但我不知道去哪里寻找和注意什么。这是在 Visual Studio IIS Express 中,甚至在实时模式下。全新 IIS 7.5 安装时同样的问题。
-
刚刚尝试了与您提供的示例相同的方式。 public FileStreamResult Cover(Guid pInternalBookId) { return new FileStreamResult(new FileStream(Server.MapPath("~/Themes/Content/Images/nocover.png"), FileMode.Open, FileAccess.ReadWrite), "image/png"); }
-
在大多数 IIS 应用程序池配置中,可以同时运行的默认线程数是 5。但您需要几乎同时返回 20 个文件。尝试增加应用程序池的工作进程数。以管理员身份打开 IIS,在“连接”面板(左侧)上选择您的网站,单击“高级设置”并找出该站点的应用程序池。关闭,然后再次返回连接。找到您的应用程序池,转到高级设置(右键单击)并在进程模型下找到“最大工作进程”。增加这个数字。
标签: c# asp.net-mvc