1

ASP.NET 応答フィルターを使用して HttpModule をデバッグしています。これにより、レンダリングされた SharePoint WCM ページの一部が動的に書き換えられます。公開ページは、Server 2003 と Server 2008 の両方で SP2007 で適切にレンダリングされます。ただし、同等のページは、Server 2008 R2 / IIS7 で SP2010 B2 でレンダリングできません。ASP.NET から次のエラーが返されます。

ポスト キャッシュ置換は、応答バッファーを変更する IIS 統合パイプラインのモジュールと互換性がありません。パイプラインのネイティブ モジュールがマネージ ポスト キャッシュ置換コールバックに関連付けられた HTTP_DATA_CHUNK 構造を変更したか、マネージ フィルターが応答を変更しました。

このエラーはKB #2014472と一致しています。でも:

  1. サイト コレクション レベルでの匿名および認証済みアクセスのキャッシュが無効になっている
  2. マスター ページまたはレイアウト ページのいずれにも代替コントロールが表示されません。
  3. IIS 7 の設定はすべて標準のデフォルトです

これは、たとえば /pages/default.aspx で発生しています。キャッシュに関連する何かが欠けているようです...しかし、何ですか?

4

2 に答える 2

3

適切な解決策を見つけたかもしれませんが、私はこれとまったく同じ問題に出くわしました。

IIS 7 でサイトの「ページとコントロール」を開き、BufferオプションをFalseに設定することで解決できました。

于 2010-05-19T08:01:25.613 に答える
0

アップデート

これは、この問題に関する MS Dev Support からの公式の「回答」です。

質問: 次
の場合に、別のプロセスによってレンダリングされた HTML を変更するために、ASP.NET で応答フィルタリングに代わるものは何
ですか
?

回答:
「はい、あなたの質問は青空のように明確であり、これは公式にはサポートされていないと主張されています。キャッシュ後の置換は特定の置換チャンクを応答バイトに結合するため、応答フィルタリングは応答の生のバイトをフィルタリングすることを期待しています (ない)したがって、以前に結合された置換チャンクはもう保存できません。

これまでのところ、Microsoft からの代替品はありません。」

于 2010-04-08T15:29:02.890 に答える