MVC状态页面响应
问题描述:
如果有一些特定的请求来到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