私は自分のマシンで正常に動作しているStructureMapを持っています。存在しないリソースを要求するまで、すべてがうまくいく。 404の代わりに、私は500エラーを取得します。ASP.NET MVCとStructureMapに問題があります
例えば、 http://localhost:6969/lkfhklsfhskdfksdf
ネットを確認すると、私はfix my structuremap controller classに言われました。それと喜びをしました!私は今 - 元のデフォルト404黄色の画面ページ - を取得します。それは私の500エラーページよりも優れています。私のGlobal.asaxで
しかし、私はそれは私のカスタム404ページに行きたい:(私は合法的なコントローラ上の悪い行動を呼び出した場合、私は私のカスタム404ページを取得します。
私は私のカスタムルートを持っています
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Post", action = "Index", id = "" } // Parameter defaults
);
// Invalid/Unknown route.
routes.MapRoute(
"404-ResourceNotFound",
"{*url}",
new { controller = "StaticContent", action = "ResourceNotFound" }
);
ここに私のStructureMapコントローラコードです:デフォルトでは、最終的に404ルートは、その後?
public class StructureMapControllerFactory: DefaultControllerFactory {
protected override IController GetControllerInstance(Type controllerType) {
if (controllerType != null) {
return ObjectFactory.GetInstance(controllerType) as Controller;
return base.GetControllerInstance(controllerType);
}
}
すべてのアイデアは、私は何とか構造マップコントローラFAを得ることができるいくつかの方法がありますglobal.asax
ルートリストに戻ってきますか?または私は本当に悪いことをして、いくつかの他のものを修正する必要があります。
乾杯!
私は現時点で5つのサイトを実際に働いています:(1つを再アーチする、4つ新しいです:(あなたのコードで、私もそれを持っていました。 :// localhost:12345/sfsfkasfhasklfla(例えば、あなたのlocalhostとport、そしてコントローラと一致しないuri。)StructureMapControllerFactoryが例外をスローするのですか? –
私のアプリケーションは、デフォルトではプロダクションでカスタムエラーページになります。私はその404ルートを持っていますか? –
私は自分のカスタム404ページに覗き見を送ることができます –