首先讓我解釋一下,我在一個託管的解決方案,並且我沒有太多的辦法可以配置和設置IIS 6的方式。使用ASP.NET MVC2,空路由沒有被IIS轉發6
我MVC2工作在一定程度上,我使用下面的Global.asax代碼:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default",
"{controller}.aspx/{action}/{id}",
new { action = "Index", id = "" }
);
routes.MapRoute(
"Root",
"",
new { controller = "Default", action = "Index", id = "" }
);
}
在第一條路線,我必須指定{}控制器的.aspx,由於IIS 6不能夠執行非aspx代碼(或類似的東西,不太確定)。
這很好,下面的工作: hxxp://mysite.com/home.aspx,hxxp://mysite.com/projects.aspx,hxxp://mysite.com/contact.aspx
哪些都是控制器,我也可以運行他們尊重的操作。
問題是,我不能正確地做一個空的URL(即hxxp://mysite.com/),它給了我一個「目錄列表被拒絕」的錯誤。
我有一個問題,是在一個default.aspx文件位於根(它執行),我可以加載主控制器沒有使用一個簡單的Response.Redirect?
謝謝 馬修
這是最準確的答案,但並沒有真正解決我的問題。解決方案是隻包含一個創建新的MvcHttpRequest的「default.aspx」頁面。 – Matthew 2011-08-23 20:25:58