ASP.NET Web Api in Web forms

对着背影说爱祢 提交于 2019-11-29 15:27:03

问题


i´m trying to use the asp.net web api in WEB FORMS with visual studio 2010 (sp1) i have done this steps http://myrandomykien.blogspot.com/2012/02/simplest-web-api-site-with-nuget.html

When i use the visual studio development server it works, but when i´m using iis 7.5 i get an Error HTTP 404.0 - Not Found.

Edit

This is my 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 }
            );
        }

This is the api class

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

回答1:


You have to make sure that extensionless requests are routed to ASP.NET which is done by default by your development server but not IIS.

There are couple of possible approaches.

First, you could add runAllManagedModulesForAllRequests="true" in the modules section of the system.webServer. Some people claim there are better methods, you can then follow them:

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



来源:https://stackoverflow.com/questions/9536362/asp-net-web-api-in-web-forms

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!