6

Visual Studio 2010 (sp1) を使用して WEB FORMS で asp.net Web API を使用しようとしていますhttp://myrandomykien.blogspot.com/2012/02/simplest-web-api-site-with -nuget.html

Visual Studio 開発サーバーを使用すると動作しますが、iis 7.5 を使用するとエラー HTTP 404.0 - Not Found が発生します。

編集

これは私のGlobal-asaxです

protected void Application_Start(object sender, EventArgs e)
        {
            RouteTable.Routes.MapHttpRoute(
              name: "DefaultApi",
              routeTemplate: "api/{controller}/{id}",
              defaults: new { id = System.Web.Http.RouteParameter.Optional }
            );
        }

これはAPIクラスです

public class GreetingController : ApiController
{
    public string GetGreeting(string id)
    {
        return String.Format("Hello {0}", id);
    }
}
4

1 に答える 1

6

拡張子のない要求が ASP.NET にルーティングされることを確認する必要があります。これは、IIS ではなく開発サーバーによって既定で行われます。

いくつかの可能なアプローチがあります。

runAllManagedModulesForAllRequests="true"まず、のモジュール セクションに追加できますsystem.webServer。より良い方法があると主張する人もいますが、それらに従うことができます。

http://www.britishdeveloper.co.uk/2010/06/dont-use-modules-runallmanagedmodulesfo.html

于 2012-03-02T17:47:15.143 に答える