В 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
Это реально выполнимо?
Я действительно смог сделать это в Application_Error в Глобальном
Application_Error
protected void Application_Error(object sender, EventArgs e) { Response.StatusCode = (int)HttpStatusCode.MethodNotAllowed; Response.Write(string.Empty); Response.End(); } }
Из действия ASP.NET MVC вы можете вернуть результат в любом из следующих форматов: https://docs.microsoft.com/en-us/previous-versions/aspnet/dd410269(v=vs.98)
Однако, если вы хотите вернуть код состояния и показать его, просто создайте представление, отправьте ему статус и манипулируйте соответствующим образом:
Контроллер:
public ActionResult Index() { return View("~/Views/Test.cshtml", HttpStatusCode.InternalServerError); }
Вид:
@{ Layout = null; } <h3>@Model</h3>