2009-03-31 12 views
3

HTTPモジュールを扱う場合、パイプラインの最後の2つのイベント(PreSendRequestHeadersとPreSendRequestContent)が必ずしも実行されないことに気付いたことがありますか?PreSendRequestHeadersとPreSendRequestContentが一貫して動作しないのはなぜですか?

私は、EndRequestにバインドされたコードが実行されることを確認しましたが、PreSendRequestHeadersまたはPreSendRequestContentのいずれかにバインドされていないことを確認しました。

理由はありますか?私はおそらくキャッシュの問題だと思っていました(304未修正、あなたは実際にコンテンツを送信しません...)が、キャッシュをクリアして、サーバが200 OKを返したことを確認しました。 。

これは、応答のStatusCodeがデフォルトで200になっているため、この2つの最終的な方法まで404または206のようなものに更新されないということが原因で問題になります。私はEndRequestの中のStatusCodeを確認した場合、それは...いつも私がイベントPreSendRequestHeadersにCookieヘッダーを注入してる200

答えて

0

を読んで、それを発射しない問題が発生したためにまだ持っています

0

たぶんそれはHttpResponse.BufferOutputと関係があります。バッファリングがオフになっている場合は、すべてのヘッダーのように見えますが、これらのイベントが発生するまでに一部のコンテンツが既に送信されている可能性があります。

1

これはIIS 7の統合パイプラインに関連していませんか?

確認するには、IIS 7が統合パイプラインで実行されている場合にのみイベントが発生すると考えられます。

+0

私はあなたが正しいと思うが、私はこの同じ問題を抱えており、IISが統合パイプラインモードで動作していても発砲していない。 – daustin

関連する問題