ASP.Net响应过滤器与SharePoint 2010发布站点默认值冲突 [英] ASP.Net Response Filter Clashing with SharePoint 2010 Publishing Site Defaults

查看:235
本文介绍了ASP.Net响应过滤器与SharePoint 2010发布站点默认值冲突的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用ASP.NET响应过滤器调试HttpModule。这会动态重写已呈现的SharePoint WCM页面的部分内容。在Server 2003和Server 2008上,发布页面在SP2007中呈现正常。但是,在Server 2008 R2 / IIS7上的SP2010 B2中,等效页面无法呈现。 ASP.NET返回以下错误:

I'm debugging an HttpModule with an ASP.NET response filter. This dynamically rewrites portions of rendered SharePoint WCM pages. The publishing pages render fine in SP2007 on both Server 2003 and Server 2008. However the equivalent pages fail to render in SP2010 B2 on Server 2008 R2 / IIS7. The following error is returned by ASP.NET:


后缓存替换与IIS集成管道中修改响应缓冲区的模块不兼容。管道中的本机模块已修改与托管后缓存替换回调关联的HTTP_DATA_CHUNK结构,或者托管过滤器已修改响应。

Post cache substitution is not compatible with modules in the IIS integrated pipeline that modify the response buffers. Either a native module in the pipeline has modified an HTTP_DATA_CHUNK structure associated with a managed post cache substitution callback, or a managed filter has modified the response.

此错误与 KB#2014472 一致。但是:


  1. 匿名&禁用缓存网站集级别的经过身份验证的访问

  2. 主页或布局页面上似乎没有任何替换控件

  3. IIS 7设置为所有股票违约

这种情况正在发生,例如在/pages/default.aspx上。我似乎错过了缓存相关的东西...但是什么?

This is happening e.g. on /pages/default.aspx. It seems likely I'm missing something cache related...but what?

推荐答案

更新



以下是MS Dev Support在此问题上的官方回答。

UPDATE

Here's an official "answer" from MS Dev Support on this issue.

问题:

在以下情况下,ASP.NET中用于修改由另一个进程呈现的HTML的响应过滤的替代方法是什么:

1.其他进程无法修改

2.发布-cache替换必须得到支持

Question:
What is the alternative to response filtering in ASP.NET for modifying HTML rendered by another process when:
1. The other process cannot be modified
2. Post-cache substitution must be supported

答案:

是的,你的问题很明显,就像蓝天一样官方声称不支持。因为后缓存替换会将某些替换块组合到响应字节,而响应过滤期望过滤响应的原始字节(未修改)。因此,先前组合的替换块不再被保留。

Answer:
"Yes, you question is clear as blue sky and this is officially claimed to be not support. As Post-cache substitution would combine certain substitution chunks to the response bytes while response filtering expects to filter the raw bytes of the response(not modified). So the previously combined substitution chunks cannot be preserved anymore.

到目前为止,微软还没有替代方案。

There is not an alternative from Microsoft so far."

这篇关于ASP.Net响应过滤器与SharePoint 2010发布站点默认值冲突的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆