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 - 未找到。

编辑

这是我的 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 回答