Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 从静态资源中删除查询字符串_Asp.net_Scriptresource.axd_Pingdom - Fatal编程技术网

Asp.net 从静态资源中删除查询字符串

Asp.net 从静态资源中删除查询字符串,asp.net,scriptresource.axd,pingdom,Asp.net,Scriptresource.axd,Pingdom,我的网站是在ASP.NET平台上运行的,最近我在pingdom上测试了我的网站,发现了以下错误 URL中带有“?”的资源不会被某些代理缓存缓存 服务器。删除查询字符串并将参数编码到 以下资源的URL: ... 63Nawdr4rAt1lvT7c_zyBEkV9INg0&t=ffffffffe3663df5 ... JGTlZFM0WRegQM9wdaZV3fQWMKwg2&t=FFFFFFFF E3663DF5 简单保持原样(这不是错误!)-您无法从资源中删除此查询字符串,因为这是如何从asp.

我的网站是在ASP.NET平台上运行的,最近我在pingdom上测试了我的网站,发现了以下错误

URL中带有“?”的资源不会被某些代理缓存缓存 服务器。删除查询字符串并将参数编码到 以下资源的URL: ... 63Nawdr4rAt1lvT7c_zyBEkV9INg0&t=ffffffffe3663df5 ... JGTlZFM0WRegQM9wdaZV3fQWMKwg2&t=FFFFFFFF E3663DF5

简单保持原样(这不是错误!)-您无法从资源中删除此查询字符串,因为这是如何从asp.net加载该资源的id

您得到的消息实际上是针对代理缓存服务器的对话-什么是代理缓存服务器?一种中间计算机,它缓存站点的页面,而不是实际的客户端计算机,它可以保存在缓存页面中,而不会使您的站点总体上变得更慢

因此,如果您正确设置了资源,您的客户端可以在缓存中保存该资源,并且从我看到的asp.net中,请注意,您的资源缓存得很好-请参见此屏幕截图

现在,如果您希望添加更具攻击性的缓存,可以使用global.asax并执行以下操作

protected void Application_BeginRequest(Object sender, EventArgs e)
{
    string cTheFile = HttpContext.Current.Request.Path;

    if (cTheFile.EndsWith("WebResource.axd", StringComparison.InvariantCultureIgnoreCase))
    {
        JustSetSomeCache(app);
    }
}

private static void JustSetSomeCache(HttpApplication app)
{
    app.Response.Cache.AppendCacheExtension("post-check=900, pre-check=3600");
    app.Response.Cache.SetExpires(DateTime.UtcNow.AddHours(32));
    app.Response.Cache.SetMaxAge(new TimeSpan(32, 0, 0));
    app.Response.Cache.SetCacheability(HttpCacheability.Public);
    app.Response.AppendHeader("Vary", "Accept-Encoding");
}

有什么不同?第二个缓存根本不像asp.net那样检查服务器的文件更改,您可以获得一个Web服务器调用。

您能告诉我如何正确设置缓存上的资源吗?然后我如何解决这个问题?从静态资源中删除查询字符串,因为它会降低我在pindom上的配置文件分数test@NomalAfzal我认为这太多了,不能看他们,给你结果的程序不知道一切,这只是一个建议。你还有其他问题要注意(像VIEWSTATE,至少需要压缩),这不是我亲眼看到的。@ NoMalaFaZar看这个分析,你的分数是89/100,这很好,考虑到你还有一些其他问题看不见。