MVC4 WebサイトでMagical Unicorn MVC Error Toolkit(v 2.1.2)を設定しようとしていますが、動作させることができません。ここに私のコードです:Magical Unicorn MVCエラーツールキットの設定
のWeb.config
<customErrors mode="On" redirectMode="ResponseRewrite" defaultRedirect="~/Error/ServerError">
<error statusCode="404" redirect="~/Views/Error/NotFound.cshtml" />
</customErrors>
<system.webServer>
<httpErrors errorMode="Custom" existingResponse="Replace">
<remove statusCode="404" subStatusCode="-1" />
<remove statusCode="500" subStatusCode="-1" />
<error statusCode="404" path="~/Error/NotFound" responseMode="ExecuteURL" />
<error statusCode="500" path="~/Error/ServerError" responseMode="ExecuteURL" />
</httpErrors>
<system.webServer>
エラーコントローラ
public class ErrorController : Controller
{
public ActionResult NotFound()
{
Response.StatusCode = (int)HttpStatusCode.NotFound;
return View();
}
public ActionResult ServerError()
{
Response.StatusCode = (int)HttpStatusCode.InternalServerError;
return View();
}
}
App_Start(
CustomerErrorHandler.cs [これらは、このhttps://stackoverflow.com/a/7499406/236860ポストに基づいていました] )
using Microsoft.Web.Infrastructure.DynamicModuleHelper;
using WorldDomination.Web.Mvc;
using CustomErrors.App_Start;
[assembly: WebActivator.PreApplicationStartMethod(typeof(CustomErrorHander), "PreStart")]
namespace CustomErrors.App_Start
{
public static class CustomErrorHander
{
public static void PreStart()
{
// Register the custom error handling module.
DynamicModuleUtility.RegisterModule(typeof (CustomErrorHandlingModule));
}
}
}
IIS Expressを使用してVisual Studio 2012でこのアプリケーションをテストしています。存在しないページに移動しようとするか、例外を呼び出すアクションメソッドに移動すると、デフォルトのブラウザエラーページまたは空白ページが表示されます。
また、上記のコードをASP.NET MVC Custom Error Pages with Magical Unicornで提案されているように変更しましたが、これは何の違いもありません。
この作業を行うには誰でも正しい方向に向けることができます。
http://stackoverflow.com/questions/619895/how-can-i-properly-handle-404-in-asp-net-mvcへの回答で時間を無駄にした後、これは優れたアプローチで、ただの平易な作品です。 –
Michaelさん、ありがとうございました。 – Neilski