Gho*_*ngi 4 asp.net iis-7 httpmodule
有一个HttpModule可以更改响应标头中的服务器字段.但它在ASP.NET/IIS7经典模式下不起作用.在reponse标题中删除或更改服务器字段的解决方案是什么?
public class CloakHttpHeaderModule : IHttpModule
{
public void Init(HttpApplication app)
{
app.PreSendRequestHeaders += new EventHandler(context_PreSendRequestHeaders);
}
public void Dispose()
{
}
private void context_PreSendRequestHeaders(object sender, EventArgs e)
{
var context = ((HttpApplication)sender).Context;
context.Response.Headers.Set("Server", "Apache 2.0");
//HttpContext.Current.Response.Headers.Set("Server", "WSGIServer/0.1 Python/2.6.1");
}
}
Run Code Online (Sandbox Code Playgroud)
除非您至少运行IIS7,集成管道模式和.NET 3.0,否则无法执行此操作.文档说明了这一点:
Headers属性仅受IIS 7.0集成管道模式和至少.NET Framework 3.0支持.当您尝试访问Headers属性并且不满足这两个条件之一时,将抛出PlatformNotSupportedException.
| 归档时间: |
|
| 查看次数: |
2533 次 |
| 最近记录: |