IIS 7.5 (통합 모드)를 사용하는 Windows Server 2008 R2에 MVC 응용 프로그램을 배포했습니다. 주소 (http://192.168.3.5:2011/)를 입력하면 브라우저가 표시해야하는 첫 번째 페이지가 로그인 페이지입니다. 문제는 그 대신에 알파벳 순으로 정렬 된 목록의 맨 위에있는 컨트롤러에서 발견 된 첫 번째 ActionResult 반환 메서드를 실행한다는 것을 발견했습니다. 반면에 내가 http://192.168.3.5:2011/Default.aspx을 입력하면 모든 것이 정확해진다. 로그인 페이지가 표시됩니다.MVC 응용 프로그램의 홈 페이지가 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>
가있는 Global.asax에 나의 라우팅 테이블은 다음과 같이 정의된다 LogOn 메서드는 계정 컨트롤러에서 첫 번째로 선언 된 것으로, 알파벳순으로 정렬 된 첫 번째 컨트롤러입니다.
IIS 6.0에서는 클래식 모드가 제대로 작동하지만 IIS 7.5 (통합 모드)에서는 작동하지 않습니다. 이것은 나를 미치게 만든다.
도움 주셔서 감사합니다.
감사합니다.
실행중인 작업에 대한 세부 정보 (최소한 이름과 컨트롤러)를 입력하십시오. – Rune