Web.configでオンになっているMVC3アプリにカスタムエラーを実装しています。
<customErrors mode="On">
<error statusCode="403" redirect="/Errors/Http403" />
<error statusCode="500" redirect="/Errors/Http500" />
</customErrors>
私のコントローラーは非常にシンプルで、対応する正しい名前のビューがあります。
public class ErrorsController : Controller
{
public ActionResult Http403()
{
return View("Http403");
}
public ActionResult Http500()
{
return View("Http500");
}
}
テストするために、別のコントローラーで例外をスローしています。
public class ThrowingController : Controller
{
public ActionResult NotAuthorised()
{
throw new HttpException(403, "");
}
public ActionResult ServerError()
{
throw new HttpException(500, "");
}
}
403は機能します-カスタムの「/Errors/Http403」にリダイレクトされます。
500は機能しません-代わりに、共有フォルダのデフォルトのエラーページにリダイレクトされます。
何か案は?