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