2

奇妙な問題があり、デバッグ ポインターを探しています。ページがサイトから削除された場合、私は次のことを行います。

Response.StatusCode = 410;
Response.Status = "410 Gone";
return View("PageRemoved");

開発環境では問題なく動作します。製品版では、ブラウザーは単純に「要求したページは削除されました」と出力します。ビューはレンダリングされません。どちらの環境でも 410 ステータスが返されます。ある時点で、これは本番環境で機能していましたが、いつになるかはわかりません。

IIS が 410 リターン コードを傍受し、このメッセージを出力している可能性はありますか? もしそうなら、これは IIS のどこでセットアップされますか? これをどのようにデバッグしますか?(ログステートメントをコードに入れましたが、コードパスは両方の環境で同じです。)

4

1 に答える 1

5

IISがエラー応答を傍受し、カスタムページを提供している可能性があります。サイトで指定されたURL(または必要に応じて静的ページ)を実行するIISの410エラーのカスタムエラーページを設定できます。このオプションは、[サイト]>[エラーページ]>[追加]にあります。

結果を返す前に、コントローラーアクションで次のことを試すこともできます。

Response.TrySkipIisCustomErrors = true;
于 2011-06-16T13:04:12.047 に答える