在MVC2 POST下返回不同的响应代码
|
我正在使用MVC2开发REST API。
在Action方法中处理POST请求时,应使用值填充各种自定义Response头,并设置特定的HTTP响应代码。
由于这是一个POST请求,因此我将返回EmptyResult。
当我打电话到该站点时,可以看到填充了自定义标头,但是响应代码(使用Response.StatusCode = ...设置的响应代码)被忽略了,我总是得到200。
我的技术负责人建议使用HTTPException来获取响应代码,但是我认为这是错误的方法。无论如何,我都尝试过,并且我怀疑响应代码已编写,但其他所有内容(我的自定义响应头)都搞砸了。
在StackOverflow上使用类似的线程之后,我尝试编写自己的ActionResult子类来处理此问题,但是再次-我只得到200 s。
对于那些感兴趣的人,班级在这里:
Public Class HttpStatusCodeActionResult : Inherits ActionResult
#Region \"Data Members\"
Private mintStatusCode As Integer = 0
Private mstrStatusDescription As String = \"\"
#End Region
Public Sub New(ByVal vintStatusCode As Integer, ByVal vstrStatusDescription As String)
mintStatusCode = vintStatusCode
mstrStatusDescription = vstrStatusDescription
End Sub
Public Overrides Sub ExecuteResult(ByVal context As System.Web.Mvc.ControllerContext)
context.HttpContext.Response.StatusCode = mintStatusCode
If mstrStatusDescription <> \"\" Then
context.HttpContext.Response.StatusDescription = mstrStatusDescription
End If
End Sub
End Class
有谁知道能够指定响应代码并返回我的自定义标头的正确方法是什么?顺便说一下,这似乎只是POST请求-GET请求似乎正常工作...
期待中欢呼,
马丁
没有找到相关结果
已邀请:
1 个回复
门锑腺潮