简单地保持原样(它不是错误!) -您不能从资源中删除此查询字符串,因为这是如何从 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那样检查服务器的文件更改,您可以获得一个网络服务器调用。