Tôi đang thực hiện các lỗi tùy chỉnh trong ứng dụng MVC3 của tôi, nó bật trong web.config:Lỗi tùy chỉnh hoạt động cho HttpCode 403 nhưng không hoạt động với 500?
<customErrors mode="On">
<error statusCode="403" redirect="/Errors/Http403" />
<error statusCode="500" redirect="/Errors/Http500" />
</customErrors>
điều khiển của tôi rất đơn giản, tương ứng với quan điểm đặt tên một cách chính xác:
public class ErrorsController : Controller
{
public ActionResult Http403()
{
return View("Http403");
}
public ActionResult Http500()
{
return View("Http500");
}
}
Để kiểm tra, Tôi đang ném ngoại lệ trong một trình điều khiển khác:
public class ThrowingController : Controller
{
public ActionResult NotAuthorised()
{
throw new HttpException(403, "");
}
public ActionResult ServerError()
{
throw new HttpException(500, "");
}
}
403 hoạt động - Tôi được chuyển hướng đến "/ Lỗi/Http403" tùy chỉnh của mình.
500 không hoạt động - Thay vào đó, tôi được chuyển hướng đến trang lỗi mặc định trong thư mục được chia sẻ.
Bất kỳ ý tưởng nào?
Tôi muốn thứ hai này: Server.GetLastError có vẻ như te không thể phục hồi: ( –