3

Asp.Net Webpages 2 と Razor (C#) を使用してサイトを構築しています。

WebApiコントローラーを挿入しようとしましたが、404しか取得できません。コントローラーはデフォルトのものです。

私も追加しようとしました

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

それでも404になります。

他に何をする必要がありますか?

4

2 に答える 2

3

やったよ。Global.asax に追加する必要があります

<%@ Import Namespace="System.Web.Routing" %>
<%@ Import Namespace="System.Web.Http" %>

そして Application_Start で

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

現在、正常に機能しています。Global.asax.cs で同じコードを試したため、以前は機能しませんでした。

于 2012-12-24T15:06:19.963 に答える
1

Global.asax の代わりに _AppStart.cshtml を使用することもできます。

@using System.Web.Http
@{
    System.Web.Routing.RouteTable.Routes.MapHttpRoute(
           name: "DefaultApi",
           routeTemplate: "api/{controller}/{id}",
           defaults: new { id = System.Web.Http.RouteParameter.Optional }
       );

}

単純なケースで情報を取得するためにこれを使用しましたが、完全に機能するかどうかはわかりません。

于 2013-01-11T23:12:34.803 に答える