路由我在Windows Server 2008 R2與IIS 7.5(集成模式)部署一個MVC應用程序。如果我輸入地址(http://192.168.3.5:2011/),瀏覽器應顯示的第一頁是登錄頁面。問題是,我發現它執行在控制器中找到的第一個ActionResult返回方法,該方法位於按照索引的字母順序列表中的頂部。另一方面,如果我輸入http://192.168.3.5:2011/Default.aspx一切都正確;它顯示登錄頁面。在Global.asax我的路由表中被定義爲:主頁不能正確地與IIS 7.5
public class MvcApplication : System.Web.HttpApplication
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Login", action = "Login", id = "" }
);
}
protected void Application_Start()
{
RegisterRoutes(RouteTable.Routes);
}
}
,我得到的是,它重定向到以下地址結果:http://192.168.3.5:2011/Account/LogOn?ReturnUrl=%2f,然後配置錯誤被拋出:
<providers>
<clear />
<add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression="" applicationName="/" />
</providers>
有一個LogOn方法,這是第一個在Account Controller中聲明的方法,它是按字母排序的第一個控制器。
在IIS 6.0經典模式工作正常,但不是在IIS 7.5(集成模式)。這真讓我抓狂。
謝謝你的幫助。
問候。
請提供正在執行 – Rune