我支持企业intraweb ASP.NET WebForms应用程序。 最近,用户开始在此webapp上遇到极慢的页面加载。 在消除了所有可能性后,我最终得知IE9从本地缓存读取一些文件时遇到麻烦。 Please see the picture.
获取文件需要10多秒。这总计页面加载时间大约一分钟。 有什么办法可以解决吗? Chrome工作正常,但我需要IE浏览器。 WebResource.axd调用由RadControls生成。调试模式为false。无论如何,上周它的工作正常,调试模式=真。
UPD:问题是由KAV防病毒软件引起的。在降低启发式级别或将检查模式更改为“执行时”后,滞后消失。
答案 0 :(得分:0)
实际上你没有立即从缓存中获取文件,但你问服务器,然后服务器重播“未修改304”。
我还注意到加载/ErrorMonitoring.svc/jsdebug
也不是text/javascript
application/x-javascript
两个人认为我建议,不知道这是否可以帮到你。 首先,在webresource上添加缓存而不需要询问服务器。这是我在global.asax
上使用的代码protected void Application_BeginRequest(Object sender, EventArgs e)
{
HttpApplication app = (HttpApplication)sender;
string cTheFile = HttpContext.Current.Request.Path;
if (cTheFile.EndsWith("WebResource.axd", StringComparison.InvariantCultureIgnoreCase))
{
app.Response.Cache.SetExpires(DateTime.UtcNow.AddHours(4));
app.Response.Cache.SetMaxAge(new TimeSpan(4, 0, 0));
app.Response.Cache.SetCacheability(HttpCacheability.Public);
}
}
第二,检查你是否需要jsdebug,一般来说这可能会增加额外的代码,这会减慢你试图调试javascript错误的时间吗?我不知道。
关于text / javascript可能你也需要测试一下,如果你可以改变它以查看是否是这个原因。您也可以阅读:When serving JavaScript files, is it better to use the application/javascript or application/x-javascript