我在運行IIS 6的Windows Server 2003計算機上部署了ASP.NET MVC2網站。 我幾乎在標準MVC項目中使用默認路由:ASP.NET MVC2路由IIS6 - 只有默認路由工作
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Products", action = "List", id = UrlParameter.Optional } // Parameter defaults
);
}
導航到http://localhost/MyApplication帶我到列表頁面就好了。導航到http://localhost/MyApplication/Products/Details/21給了我一個404。這個路由在VS2010的內置開發服務器上工作得很好。
我已經在標準的IIS通配符aspnet_isapi.dll映射到處提到 - 導航到列表頁面沒有工作之前,我沒有 - 但導航到默認路由以外的任何其他內容已損壞。
我真的想保留我的無插件網址。有沒有人有任何想法,爲什麼路由將工作的默認網頁,但沒有其他人?
*編輯:只是嘗試添加.aspx擴展,即現在我的路線是這樣的:
routes.MapRoute(
"Default", // Route name
"{controller}.aspx/{action}/{id}", // URL with parameters
new { controller = "Downtime", action = "List", id = UrlParameter.Optional } // Parameter defaults
);
而且它具有相同的行爲,但這次我得到的ASP 404頁,而不是在HTML中404頁...
*編輯2:試圖再次使用以下路線,並確保.mvc被映射到aspnet_isapi.dll:
routes.MapRoute(
"Default", // Route name
"{controller}.mvc/{action}/{id}", // URL with parameters
new { controller = "Downtime", action = "List", id = UrlParameter.Optional } // Parameter defaults
);
這一次我得到了一個「Internet Explorer無法顯示終端ay網頁'404風格的頁面。我現在有3個不同的404錯誤使用這3種不同的方法...
*編輯3返回編輯:我有網站在Windows XP專業版在IIS 5.1上運行,只有通配符重新映射在虛擬目錄,但但願我能得到它在Web服務器上運行...
我已經在IIS6無擴展URL(因此我提到'標準的IIS通配符aspnet_isapi.dll映射到處提到')的確切演練的部分,但它仍然不會路由到其他任何其他比默認值。 – LMF 2010-11-18 23:51:37
剛剛編輯父 - 將擴展名添加到我的網址沒有幫助。無擴展方法在開發服務器上工作。如果路由是正確的,那麼路由調試器會有幫助,但IIS 6處理它的方式有些不可思議嗎? – LMF 2010-11-19 00:22:56
所有的標準應用程序擴展都存在並映射到aspnet_isapi.dll,ASP.net 2.0。IIS Web服務擴展中允許使用設置,而global.asax則部署在虛擬目錄中。感謝您的建議,但我仍然處於虧損狀態。我試圖去思考導航到htp:// localhost/MyApp根目錄實際上是什麼意思,它啓動了一個必須被默認路由指向的頁面(它不叫做默認或索引,它是沒有配置爲默認內容頁面) - 但沒有別的。 – LMF 2010-11-19 00:52:43