如果有一些特定的請求來到MVC網站,例如status.aspx,我如何動態地創建一個響應例如「Server1 OK」,而不需要創建任何額外的控制器來處理這個請求。MVC狀態頁面響應
我們有網站,當status.aspx請求時,每個網站都應該回應「OK」。
或者我應該創建例如控制器狀態和重定向到此控制器,如果status.aspx請求。在這種情況下,問題是如何status.aspx請求時,我可以重定向到狀態。
如果有一些特定的請求來到MVC網站,例如status.aspx,我如何動態地創建一個響應例如「Server1 OK」,而不需要創建任何額外的控制器來處理這個請求。MVC狀態頁面響應
我們有網站,當status.aspx請求時,每個網站都應該回應「OK」。
或者我應該創建例如控制器狀態和重定向到此控制器,如果status.aspx請求。在這種情況下,問題是如何status.aspx請求時,我可以重定向到狀態。
在你的ActionResult中,你可以注入響應頭。這可以在任何現有的控制器上完成。
Imports System.Web.Mvc
Imports System.Net
Namespace Controllers
Public Class MyFunkyController: Inherits MyApp.Core.Base.BaseController
Function Index() As ActionResult
Response.StatusCode = CInt(HttpStatusCode.OK)
Return View()
End Function
Function Foo() As ActionResult
Response.StatusCode = CInt(HttpStatusCode.OK)
Return View()
End Function
Function Bar() As ActionResult
Response.StatusCode = CInt(HttpStatusCode.OK)
Return View()
End Function
End Class
End Namespace
或者你可以在你BaseController設置此(但我不會推薦它)
Protected Overrides Function CreateActionInvoker() As System.Web.Mvc.IActionInvoker
Response.StatusCode = CInt(HttpStatusCode.OK)
End Function
你應該看看一個叫路由功能。它允許您將請求URL映射到旨在處理響應的控制器。
PS:對不起VB,但原理是一樣的。只需使用http://converter.telerik.com即可獲取CSharp版本。 – 2010-09-08 01:33:41
我如何檢查status.aspx的請求並請求它到控制器? – Macaron 2010-09-08 01:36:54
你能更好地解釋你遇到的問題嗎?我不完全明白你爲什麼需要發送狀態碼。 – 2010-09-08 01:40:13