返回HTTP 403.7 HTTPResponseMessage

时间:2018-11-26 20:42:16

标签: c# .net asp.net-mvc asp.net-web-api

如果要实现自己的AuthorizeAttribute,并且覆盖HandleUnauthorizedRequest,则将HttpActionContext.Response设置为HttpResponseMessage。

HttpResponseMessage构造函数将HttpStatusCode枚举的实例作为参数。

此枚举包含常见的顶级HTTP代码的值:

  • HttpStatusCode.OK = 200
  • HttpStatusCode.NotFound = 404
  • 等等。

有一个HttpStatusCode.Forbidden = 403的值。但是没有403.7的值-需要客户端证书。或者,对于其他任何子代码。

如何返回子代码错误?

1 个答案:

答案 0 :(得分:0)

有一个原因,您无法设置HttpActionContext。响应子代码错误。

响应中未返回子代码。 HTTP协议不支持它们。

服务器上的代码可以返回子代码错误,服务器上的代码可以使用子代码进行日志记录,错误处理等。返回404.7可能返回与404.6不同的页面。

但是,无论如何,发送给客户端的代码都是纯404。