1

新しい IHttpModule を作成しています。BeginRequestイベント ハンドラを使用して特定のリクエストを 404 で無効にしたいと考えています。リクエストを終了して 404 を返すにはどうすればよいですか?

4

4 に答える 4

3

次のように、ステータス コードを明示的に 404 に設定できます。

HttpContext.Current.Response.StatusCode = 404; 
HttpContext.Current.Response.End();

応答は実行を停止します。

于 2012-10-29T14:41:35.193 に答える
1

あなたはで試すことができます

throw new HttpException(404, "File Not Found");
于 2012-10-29T13:26:16.523 に答える
1

別の可能性は次のとおりです。

HttpContext.Current.Response.StatusCode = 404; 
HttpContext.Current.Response.Flush(); // Sends all currently buffered output to the client.
HttpContext.Current.Response.SuppressContent = true;  // Gets or sets a value indicating whether to send HTTP content to the client.
HttpContext.Current.ApplicationInstance.CompleteRequest(); // Causes ASP.NET to bypass all events and filtering in the HTTP pipeline chain of execution and directly execute the EndRequest event.
于 2015-11-26T15:44:31.843 に答える
0

次のことができます。

HttpContext.Current.Response.Clear();
HttpContext.Current.Response.AddHeader("Location", l_notFoundPageUrl);
HttpContext.Current.Response.Status = "404 Not Found";
HttpContext.Current.Response.End();

l_notFoundPageUrl を 404 ページに割り当てます。

于 2012-10-29T14:38:03.203 に答える