2010-09-08 91 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映射到旨在处理响应的控制器。