Как вернуть EmptyResult с кодом состояния - PullRequest
0 голосов
/ 16 января 2019

В ASP.NET MVC (с .net 4.0) мне нужно вернуть код результата HTTP 500 и пустую страницу. Вот способы, которые я попробовал:

Response.StatusCode = (int) HttpStatusCode.InternalServerError;
return new EmptyResult();

Response.StatusCode = (int) HttpStatusCode.InternalServerError;
return Content("");

return new HttpStatusCodeResult(500);

Но он всегда возвращает страницу (html), похожую на эту (с 500) https://i.stack.imgur.com/fKI9C.png

Это реально выполнимо?

Ответы [ 2 ]

0 голосов
/ 19 января 2019

Я действительно смог сделать это в Application_Error в Глобальном

protected void Application_Error(object sender, EventArgs e)
        {

                Response.StatusCode = (int)HttpStatusCode.MethodNotAllowed;
                Response.Write(string.Empty);
                Response.End();
            }
        }
0 голосов
/ 16 января 2019

Из действия ASP.NET MVC вы можете вернуть результат в любом из следующих форматов: https://docs.microsoft.com/en-us/previous-versions/aspnet/dd410269(v=vs.98)

enter image description here

Однако, если вы хотите вернуть код состояния и показать его, просто создайте представление, отправьте ему статус и манипулируйте соответствующим образом:

Контроллер:

public ActionResult Index()
{
    return View("~/Views/Test.cshtml", HttpStatusCode.InternalServerError);
}

Вид:

@{ Layout = null; }


<h3>@Model</h3>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...