我正在尝试创建一个 HttpModule 来更改Response.Filter
类似的内容(对于此演示,只需将过滤器设置回自身):
public class ContentTrafficMonitor : IHttpModule
{
public void Init( HttpApplication context )
{
context.BeginRequest += OnBeginRequest;
}
public void Dispose()
{
}
private static void OnBeginRequest( object sender, EventArgs e )
{
var application = (HttpApplication) sender;
application.Response.Filter = application.Response.Filter;
}
}
这样做会将响应的传输编码设置为分块,而不是使用Content-Length
标头。
如果我删除Response.Filter
设置的行,则响应确实有Content-Length
标题。我们的应用程序依赖于Content-Length
标头,有没有办法防止这种行为?