18

IIS6 を使用しています。HttpModule を作成しましたが、このエラーが発生しますか? Web をグーグルで調べたところ、この問題は .NET Framework 3.5 が原因であることがわかりました。そのため、これを .NET 3.5 をインストールしていないマシンに配置しましたが、問題はまだ残っています。

4

4 に答える 4

39

精神的なデバッグの私の試み: 次のようなステートメントを使用しています:

Response.Headers("X-Foo") = "bar"

これが実際に当てはまる場合は、以下に示すようにこれを変更すると、問題を回避できます。

Response.AddHeader("X-Foo", "bar")
于 2008-10-09T10:02:27.267 に答える
7

IIS7 のみが統合パイプラインをサポートしています。IIS7 では、HttpModule は、特定のファイル拡張子を対象とする要求だけでなく、Web サーバーに送信されるすべての要求に参加できます。

II6 は、IIS7 がクラシック パイプラインと呼ぶものを使用します。このパイプラインでは、以前の ISAPI ベースのパイプラインが、スクリプト マッピングで要求を ASP.NET に渡す必要があると判断した場合にのみ、HttpModules が関与できます。

于 2008-10-09T09:48:36.077 に答える
6

この問題に遭遇しました。IIS6 と .NET 3.5 を使用。私にとっての修正は、Response.AddHeaderの代わりに使用することでしResponse.Headers.Addた。HTH。

于 2010-05-17T21:09:52.990 に答える
0

他の回答に触発されて、「操作にはIIS統合パイプラインモードが必要です」という例外を引き起こすResponse.Headers オブジェクトにアクセスしていることがわかりました。

.Headers次のような他の (古い?) ヘルパー関数を避けて呼び出します。

  • Response.AddHeader()
  • Response.ClearHeaders() (私の場合!)
于 2014-01-14T10:16:19.983 に答える