【例外処理】Mvc 3 Area同じコントローラと一致する複数のタイプを見つける

1024 ワード

異常はどのような場合に発生しますか:MVC 3でAreaの領域を使用する時、1つのAreaの中で1つのHomeコントローラを定義して、起動する時この異常が発生します
例外情報:Homeというコントローラに一致する複数のタイプが見つかりました.このことは、このリクエスト(「{controller}/{action}/{id}」)にサービスを提供するルーティングが、このリクエストに一致するコントローラを検索する際にネーミングスペースが指定されていない場合に発生します.もしそうであれば、「namespaces」パラメータを含む「MapRoute」メソッドのリロードを呼び出すことで、このルーティングを登録します.
例外解決方法:「namespaces」パラメータを含む「MapRoute」メソッドのリロードを呼び出し、このルーティングを登録します.
                            コードは以下の通りです
    
public override void RegisterArea(AreaRegistrationContext context)
{
//context.MapRoute(
// "Web_default",
// "Web/{controller}/{action}/{id}",
// new { controller = "Home", action = "Index", id = UrlParameter.Optional }
//);

//         
context.MapRoute(
"Web_default",
"Web/{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional },
new string[] { "Wlys.Areas.Web.Controllers" }
);

}
注記:Areaの下には、各AreaRegistrationのMapRouteで設定してください.