我使用的是Visual Studio 2013 RC版本中包含的ASP.NET 5 RC的屬性路由。使用asp.net屬性路由的根路徑的默認路由
我想要的根路徑/
,導致規範/Home/Index
路徑,但我找不到一種方法來做到這一點只是屬性路由。是否有可能,如果不是,如果我還使用OWIN SelfHost,我該如何做?換句話說,我在WebApp.Start<T>
方法(其中T
在啓動時調用Configure(IAppBuilder)
方法)手動設置我自己的HttpConfiguration
類,並且不通過RouteTable.Routes
對象。或者我應該通過RouteTable.Routes
對象?我沒有多少運氣與當我試圖...
編輯:這是我到目前爲止已經試過:
// normal Web API attribute routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultWeb",
routeTemplate: "{controller}/{action}",
defaults: new { controller = "Home", action = "Index" }
);
第二試試下面看起來有點可疑,因爲它不是明確我的HttpConfiguration
對象是如何與靜態RouteTable.Routes
對象:
// normal Web API attribute routes
config.MapHttpAttributeRoutes();
RouteTable.Routes.MapRoute(
name: "DefaultWeb",
url: "{controller}/{action}",
defaults: new { controller = "Home", action = "Index" }
);
我得到了「當前請求是採用以下操作方法之間的曖昧:」 ......嘗試這種時候。我將[RoutePrefix(「home」)]添加到我的控制器定義中,並將[Route]更改爲[Route(「index」)]以消除歧義。 /(默認)和/ home/index都可以工作。 –
我也得到了模棱兩可的錯誤,並且模糊性指向了同一個控制器。我刪除了上面顯示的「[Route]」,現在它可以工作。 – HK1