我在寫一個新的IHttpModule。我想使用BeginRequest
事件處理程序使404的某些請求無效。我如何終止請求並返回404?如何在IHttpModule中使用404結束請求?
回答
您可以在狀態代碼明確設置爲404,如:
HttpContext.Current.Response.StatusCode = 404;
HttpContext.Current.Response.End();
響應將停止執行。
您可以
throw new HttpException(404, "File Not Found");
爲什麼拋出比只做一個'Response.StatusCode = 404; Response.End()'? –
如果你想IIS生成的html通常伴隨404,使用例外 – agradl
試試看你能做到以下幾點:
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頁。
會''Response.StatusCode = 404;'不夠? –
我相信你將不得不結束迴應... –
另一種可能性是:
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.
- 1. 使用IHttpModule記錄請求長度
- 2. IHttpModule RewritePath StatusCode 404
- 3. Spring 3 HandlerInterceptorAdapter。請求結束404前調用攔截器
- 4. 如何結束node.js http請求提前
- 5. 如何攔截請求結束?
- 6. 如何檢測Http請求的結束?
- 7. 在Node.js中結束請求Formidable
- 8. 在節點Js中結束HTTP請求
- 9. 如何在請求結束之前在Rails中保持會話?
- 10. 結束捲曲請求
- 11. node.js - 立即結束請求?
- 12. 提前結束http請求
- 13. 所有請求如何在Rails的routes.rb中結束?
- 14. Java Spring框架,在請求結束之前開始使用HTTP請求主體
- 15. 結束請求,如果PreRequestHandlerExecute錯誤
- 16. 在ExpressJS上儘早結束的請求
- 17. 如何使用自定義IHttpModule和HttpRequest過濾器來修改POST請求?
- 18. Angular2 HTTP GET請求的結果爲404
- 19. 如何在請求結束時獲取Content-Length?
- 20. 如何在REST API發佈請求結束時避免後綴?
- 21. 如何在(Mailjet)cURL請求結束時呈現視圖?
- 22. 如何在催化劑的請求結束清理?
- 23. 如何在輸入分型後推遲AJAX請求結束
- 24. 請求在node.js中沒有結束(用於工作)
- 25. 使用請求分派器發送404請求JSP
- 26. 如何從全局web.config中配置的IHttpModule生成404響應?
- 27. 如何在請求中使用child_process spawn的結果(獲取ENOENT)
- 28. PHP,ExtJS和永不結束AJAX請求
- 29. 多個PATCH請求REST結束點
- 30. 意外結束時發送POST請求
這有你的答案:http://stackoverflow.com/questions/499817/what-is-the-proper-way-to-send-an-http-404 -response-from-an-asp-net-mvc-action - 拋出一個HttpException – MatthewMartin