将应用程序发布到IIS:Web API中断

时间:2015-11-19 08:51:52

标签: asp.net-mvc iis asp.net-web-api

我已经构建了一个Asp.Net MVC应用程序,并且它已成功运行。 但是,当我将其发布到IIS时,我无法访问Web服务。 我的意思是,当我输入一些内容网址时(例如" http://localhost/MyApp/Contents/SomePage.html")它成功运作, 但是当我输入api的url(" http://localhost/MyApp/api/SomeController/SomeMethode")时,我得到404.2错误。 [当我在取消发布时输入此类网址时,(" http://localhost:5092/api/SomeController/SomeMethode")它向我显示了该方法的结果]

非常感谢,对不好的英语感到抱歉。

更新 感谢您的回答,我尝试了他们(在评论和答案中)并且它没有工作。实际上,我试着解决它4个小时,我就是无法解决。所以,就像每个愤怒的家伙一样,我删除了发布并再次发布它(就像重新启动计算机一样)并且我不知道为什么,但现在它已经发挥作用。

再次感谢,对于糟糕的英语再次感到抱歉。

1 个答案:

答案 0 :(得分:0)

MVC路由与WebApi路由不同。

MVC:

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

的WebAPI

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

在你的Global.asax

protected void Application_Start()
{
    GlobalConfiguration.Configure(WebApiConfig.Register);
    RouteConfig.RegisterRoutes(RouteTable.Routes);
}