ASP.Net 応答フィルターが SharePoint 2010 発行サイトのデフォルトと競合する
-
21-09-2019 - |
質問
ASP.NET 応答フィルターを使用して HttpModule をデバッグしています。これにより、レンダリングされた SharePoint WCM ページの一部が動的に書き換えられます。SP2007 では、Server 2003 と Server 2008 の両方で発行ページが正常にレンダリングされます。ただし、同等のページは、Server 2008 R2 / IIS7 上の SP2010 B2 ではレンダリングできません。ASP.NET から次のエラーが返されます。
ポスト キャッシュ置換は、応答バッファーを変更する IIS 統合パイプラインのモジュールと互換性がありません。パイプライン内のネイティブ モジュールがマネージド ポスト キャッシュ置換コールバックに関連付けられた HTTP_DATA_CHUNK 構造を変更したか、マネージド フィルターが応答を変更しました。
このエラーは以下と一致します KB #2014472. 。しかし:
- サイト コレクション レベルでの匿名および認証されたアクセスに対してキャッシュが無効になっています
- マスター ページにもレイアウト ページにも置換コントロールがないようです
- IIS 7 の設定はすべて標準設定です
これは起こっています。/pages/default.aspx にあります。キャッシュ関連の何かが欠けている可能性があります...しかし、何でしょうか?
解決 2
アップデート
この問題に関する MS Dev Support からの正式な「回答」は次のとおりです。
質問:
次の場合に、別のプロセスによってレンダリングされた HTML を変更するための、ASP.NET での応答フィルターの代替手段は何ですか?
1.他のプロセスは変更できません
2.ポストキャッシュ置換をサポートする必要がある
答え:
「はい、あなたの質問は青空のように晴れており、これは支持ではないと公式に主張されています。ポストキャッシュ置換では特定の置換チャンクが応答バイトに結合されますが、応答フィルタリングでは応答の生のバイト(変更されていない)がフィルタリングされることが期待されます。したがって、以前に結合された置換チャンクは保存できなくなります。
今のところ、Microsoft から代替となるものはありません。」
他のヒント
すでに適切な解決策を見つけているかもしれませんが、私はまったく同じ問題に遭遇しました。
IIS 7 でサイトの「ページとコントロール」を開き、 バッファ というオプション 間違い.