2017-07-19 62 views
-3

我有下面的註冊被調用在的Application_Start的global.asax.cs。在哪裏把我的控制器爲我的API路線?

public static void Register(HttpConfiguration config) 
{ 
    config.MapHttpAttributeRoutes(); 

    config.Routes.MapHttpRoute(
     name: "DefaultApi", 
     routeTemplate: "api/{controller}/{id}", 
     defaults: new { id = RouteParameter.Optional } 
    ); 
} 

我需要把我的/ API特定的控制器在一個地區或者只要我繼承ApiController它只是「工作」? 我的意思是我的控制器會響應路徑路徑api/{controller}/...

+5

你試過了,看看發生了什麼? – mason

+0

是的,但也... ^。只要做到這一點,並走上了道路。 – wakers01

回答

-1

閱讀here以獲得更好的線索。

添加路由到一個Web窗體應用程序

在Web窗體應用程序,您通過使用RouteCollection類的MapPageRoute(字符串,字符串,字符串)方法途徑。 MapPageRoute方法創建一個Route對象並將其添加到RouteCollection對象。您可以在傳遞給MapPageRoute方法的參數中爲Route對象指定屬性。

通常情況下,你的是從處理器在Global.asax文件的Application_Start事件調用的方法添加路由。此方法確保在應用程序啓動時路由可用。它還使您能夠在對應用程序進行單元測試時直接調用該方法。如果你想直接調用的方法,當你單元測試的應用程序,註冊路線必須是靜態的方法(共享在Visual Basic中),並且必須有一個RouteCollection參數。

下面的示例示出了從該添加路由對象,定義了一個名爲動作和類別名稱兩個網址參數一個Global.asax文件的代碼。具有指定模式的URL將定向到名爲Categories.aspx的物理頁面。

protected void Application_Start(object sender, EventArgs e) 
{ 
    RegisterRoutes(RouteTable.Routes); 
} 

public static void RegisterRoutes(RouteCollection routes) 
{ 
    routes.MapPageRoute("", 
     "Category/{action}/{categoryName}", 
     "~/categoriespage.aspx"); 
} 
+1

這不回答問題。 –

相關問題