2017-07-19 3 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(文字列、文字列、String)メソッドを使用してルートを作成します。 MapPageRouteメソッドはRouteオブジェクトを作成し、それをRouteCollectionオブジェクトに追加します。 Routeオブジェクトのプロパティは、MapPageRouteメソッドに渡すパラメータで指定します。

通常、Global.asaxファイル内のApplication_Startイベントのハンドラから呼び出されるメソッドにルートを追加します。この方法は、アプリケーションの起動時にルートが使用可能であることを確認します。また、アプリケーションの単体テスト時にメソッドを直接呼び出すこともできます。アプリケーションをユニットテストするときに直接メソッドを呼び出す場合は、ルートを登録するメソッドは静的(Visual Basicでは共有)で、RouteCollectionパラメータが必要です。

次の例は、actionおよびcategoryNameという2つのURLパラメータを定義するRouteオブジェクトを追加する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

これは質問に答えません。 –

関連する問題