Я пытаюсь сделать это
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
}
}
}
Кто-нибудь мог мне помочь?





Вместо этого вы можете использовать return StatusCode(401);. Вам следует избегать использования исключений для управления потоком вашего приложения.
Есть ли у вас промежуточное ПО, которое перехватывает исключение и переопределяет код состояния до 500?
Какой URI вы используете для доступа к своему действию?
Я называю это: локальный: 59580 / GitTest Я использую swagger, а это мой Startup.cs codehare.io/adjoEe
@MMachado, если вы используете правила маршрутизации по умолчанию, URI для этого действия - /Login/GitTest.
почему вы смешиваете ядро .net и классический asp.net?