Iis 7 ASP.Net响应筛选器与SharePoint 2010发布网站默认值冲突
我正在调试带有ASP.NET响应筛选器的HttpModule。这将动态重写部分呈现的SharePoint WCM页面。在Server2003和Server2008上,发布页面在SP2007中呈现良好。但是,在服务器2008 R2/IIS7上的SP2010 B2中无法呈现等效页面。ASP.NET返回以下错误: 缓存后替换与IIS集成管道中修改响应缓冲区的模块不兼容。管道中的本机模块修改了与托管后缓存替换回调关联的HTTP_DATA_块结构,或者托管筛选器修改了响应 这一错误与实际情况一致。然而:Iis 7 ASP.Net响应筛选器与SharePoint 2010发布网站默认值冲突,iis-7,iis-6,asp.net-2.0,sharepoint-2010,response.filter,Iis 7,Iis 6,Asp.net 2.0,Sharepoint 2010,Response.filter,我正在调试带有ASP.NET响应筛选器的HttpModule。这将动态重写部分呈现的SharePoint WCM页面。在Server2003和Server2008上,发布页面在SP2007中呈现良好。但是,在服务器2008 R2/IIS7上的SP2010 B2中无法呈现等效页面。ASP.NET返回以下错误: 缓存后替换与IIS集成管道中修改响应缓冲区的模块不兼容。管道中的本机模块修改了与托管后缓存替换回调关联的HTTP_DATA_块结构,或者托管筛选器修改了响应 这一错误与实际情况一致。然而:
当:
1.无法修改其他进程
2.必须支持缓存后替换 回答:
“是的,你的问题很清楚,官方声称这是不支持的。因为缓存后替换会将某些替换块组合到响应字节,而响应筛选会过滤响应的原始字节(未修改)。因此,以前组合的替换块不能再被保留
到目前为止,微软还没有替代方案。”也许你现在已经找到了一个合适的解决方案,但我偶然发现了同样的问题
我可以通过在IIS 7中打开站点的“页面和控件”并将缓冲区设置为假来解决此问题。谢谢您的回复。这确实解决了这个问题,因为页面将成功呈现。但是,关闭输出缓存会在很大程度上影响可伸缩性。因此,对于较小的站点,这可能是可行的,但对于较大的站点,这可能是不可接受的。