在IE9中从缓存加载缓慢

时间:2012-02-08 13:33:37

标签: asp.net performance caching internet-explorer-9

我支持企业intraweb ASP.NET WebForms应用程序。 最近,用户开始在此webapp上遇到极慢的页面加载。 在消除了所有可能性后,我最终得知IE9从本地缓存读取一些文件时遇到麻烦。 Please see the picture.

获取文件需要10多秒。这总计页面加载时间大约一分钟。 有什么办法可以解决吗? Chrome工作正常,但我需要IE浏览器。 WebResource.axd调用由RadControls生成。调试模式为false。无论如何,上周它的工作正常,调试模式=真。

UPD:问题是由KAV防病毒软件引起的。在降低启发式级别或将检查模式更改为“执行时”后,滞后消失。

1 个答案:

答案 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