既存の Web プロジェクトを MVC に変換しようとしています。VS 2012 で標準の MVC プロジェクトを作成しました。ルーティング構成を追加しました。既存のプロジェクトには、WCF サービスで使用されるルーティング エントリが既に含まれていました。したがって、ルートは次のように構成されます。
// Was here before, used by services
routes.Add(new ServiceRoute("AppServer", new WebServiceHostFactory(), typeof(MyService)));
// the rest is added by vs to configure a default controller
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
サービス部分はより制限的であるため、常に最初に行う必要があることに気付きました。それが最後に置かれると、サービスは機能しません。しかし、今の問題は、
@Html.ActionLink("text", "MyAction", "MyController")
タイプのリンクを生成するようになりました
http://localhost/AppServer?action=MyAction&controller=My
それ以外の
http://localhost/My/MyAction
私が期待するもの。
サービスルートとmvc関連のルートを「平和に生きる」、つまり互いに影響を与えないようにする方法を知っている人はいますか?