2010-09-08 131 views
0

如果有一些特定的請求來到MVC網站,例如status.aspx,我如何動態地創建一個響應例如「Server1 OK」,而不需要創建任何額外的控制器來處理這個請求。MVC狀態頁面響應

我們有網站,當status.aspx請求時,每個網站都應該回應「OK」。

或者我應該創建例如控制器狀態和重定向到此控制器,如果status.aspx請求。在這種情況下,問題是如何status.aspx請求時,我可以重定向到狀態。

回答

1

在你的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 
+0

PS:對不起VB,但原理是一樣的。只需使用http://converter.telerik.com即可獲取CSharp版本。 – 2010-09-08 01:33:41

+0

我如何檢查status.aspx的請求並請求它到控制器? – Macaron 2010-09-08 01:36:54

+0

你能更好地解釋你遇到的問題嗎?我不完全明白你爲什麼需要發送狀態碼。 – 2010-09-08 01:40:13

-1

你應該看看一個叫路由功能。它允許您將請求URL映射到旨在處理響應的控制器。