我已经构建了一个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个小时,我就是无法解决。所以,就像每个愤怒的家伙一样,我删除了发布并再次发布它(就像重新启动计算机一样)并且我不知道为什么,但现在它已经发挥作用。
再次感谢,对于糟糕的英语再次感到抱歉。
答案 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);
}