Ja realizacji niestandardowych błędów w moim MVC3 aplikacji, jej włączone w pliku web.config:Błędy niestandardowe działa dla HttpCode 403, ale nie 500?
<customErrors mode="On">
<error statusCode="403" redirect="/Errors/Http403" />
<error statusCode="500" redirect="/Errors/Http500" />
</customErrors>
Moje kontroler jest bardzo prosta, z odpowiednimi prawidłowo nazwane widoki:
public class ErrorsController : Controller
{
public ActionResult Http403()
{
return View("Http403");
}
public ActionResult Http500()
{
return View("Http500");
}
}
przetestować, ja rzucać wyjątków w innym kontrolerze:
public class ThrowingController : Controller
{
public ActionResult NotAuthorised()
{
throw new HttpException(403, "");
}
public ActionResult ServerError()
{
throw new HttpException(500, "");
}
}
403 prace - ja przekierowany do mojego zwyczaju „/ Błędy/Http403”.
500 nie działa - jestem przekierowywany na domyślną stronę błędu w folderze współdzielonym.
Wszelkie pomysły?
Chciałbym dodać, że: Server.GetLastError wydaje się być nieodwracalne :( –