我正在优化我们的公司网站与seo优化和YSlow的。 但在YSlow的的ETag是F。 我已经通过数万网站和教程,最好的选择是使用HTTP模块的走了。 我这样做,并试图几个模块,但没有显示在语法results.maybe什么是错的,否则我注册错了。有的说,这是最好用的,而不是因为heap.I've使用的崩溃OnPreSendRequestHeaders app_PostReleaseRequestState既没有结果。 在这里,它是:文件名是ETAG,它是在应用程序代码的文件夹
网络配置:
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<add type="CompressionModule" name="CompressionModule"/>
<add type="ETags" name="ETags"/>
<add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</modules>
</system.webServer>
这里是代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
/// <summary>
/// Summary description for ETags
/// </summary>
public class ETags : IHttpModule
{
public void Dispose() { }
public void Init(HttpApplication app)
{
app.PostReleaseRequestState += new EventHandler(app_PostReleaseRequestState);
}
void app_PostReleaseRequestState(object sender, EventArgs e)
{
HttpContext.Current.Response.Headers.Remove("ETag");
HttpContext.Current.Response.Headers.Remove("Server");
HttpContext.Current.Response.Headers.Remove("X-AspNet-Version");
HttpContext.Current.Response.Headers.Remove("X-Powered-By");
}
//public void Init(HttpApplication context)
//{
// context.PreSendRequestHeaders += OnPreSendRequestHeaders;
//}
//void OnPreSendRequestHeaders(object sender, EventArgs e)
//{
// HttpContext.Current.Response.Headers.Remove("ETag");
// HttpContext.Current.Response.Headers.Remove("Server");
// HttpContext.Current.Response.Headers.Remove("X-AspNet-Version");
// HttpContext.Current.Response.Headers.Remove("X-Powered-By");
//}
}
谢谢您的回答。