ASP .NET Web API抛出新的HttpResponseException总是返回500

时间:2018-09-20 17:31:25

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

我正在尝试这样做

throw new HttpResponseException(HttpStatusCode.Unauthorized); // 401

但这总是返回500(内部服务器错误)。

示例代码:

using System.Net;
using Microsoft.AspNetCore.Mvc;
using System.Web.Http;


namespace Gral_WebAPI.Controllers
{
    [Produces("application/json")]
    public class LoginController : ApiController
    {
        [Microsoft.AspNetCore.Mvc.HttpGet]
        [Microsoft.AspNetCore.Mvc.Route("[action]")]
        public string GitTest()
        {
            throw new HttpResponseException(HttpStatusCode.Unauthorized); // 401
        }
    }
}

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:3)

您可以改用return StatusCode(401);。您应该避免使用异常来控制应用程序的流程。

您是否有任何中间件正在拦截异常并将状态代码覆盖为500?