0
在一个MVC 5 Webapi项目中,我试图通过使用URL'api/controllerName'的jquery执行GET请求。该Web应用程序托管在默认网站下,网站的根目录是“localhost/myApp”。IIS 8.5 MVC 5 Routes'api/controllerName'给出404未找到错误
将路由'api/controllerName'转换为'localhost/api/controllerName'而不是'localhost/myApp/api/controllerName'抛出404找不到错误。
这必须做一些与IIS 8.5和MVC 5路由,这是因为:
- 相同的设置上顺畅运行IIS 7.5
- 设定了相同的作品以及在IIS 8.5,如果我不使用一个虚拟目录并直接在Default Web Site上托管应用程序。
我的Global.asax.cs的方法的RegisterRoutes看起来像下面
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
如果它在分配给默认网站的文件夹中(默认为'c:\ inetpub \ wwwroot'),但不在其他文件夹中,那么您似乎没有在IIS中正确设置网站。我不认为你可以假设,如果你发布你的web应用到c:\ inet \ wwwroot \ myApp,然后你可以在浏览器中用'http:// localhost/myApp'访问它,相反,你需要设置在IIS绑定对话框中的例如不同的端口上的网站。 – 2015-04-06 05:35:25