2

MVC가 섞인 Web Forms Web Application에서 작업하고 있습니다. 나는이 페이지 http://www.packtpub.com/article/mixing-aspnet-webforms-and-aspnet-mvc의 지침을 따라 VS2010 개발자 서버에서 제대로 작동하지만 MVC를 사용하도록 설정하려고하면 IIS 6 브라우저가 로그인 후 default.aspx로 자동으로 리디렉션되지 않고 루트에서 404 오류가 발생합니다. 응용 프로그램의Web Form과 MVC를 섞어 라우팅 오류가 발생했습니다.

내 Global.asax.cs은 다음과 같습니다

protected void Application_Start(object sender, EventArgs e) 
    { 
     RegisterRoutes(RouteTable.Routes); 
    } 

    public static void RegisterRoutes(RouteCollection routes) 
    { 
     routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 
     routes.IgnoreRoute("{resource}.aspx/{*pathInfo}"); 
     routes.MapRoute(
     "Default", 
     "{controller}/{action}/{id}", 
     new { controller = "Home", action = "Index", id = "" } 
     ); 
    } 

내가 작품을 Default.aspx를하기 위해 Application_Start 방법 RegisterRoutes에 대한 호출 자동 리디렉션을 주석으로하지만 경우 다음 MVC 부분이 실패합니다.

MVC 라우팅을 사용하는 동안 default.aspx 로의 자동 리디렉션을 사용하도록 라우팅을 설정하는 방법에 대한 도움이 필요합니다. MVC 파트는 myserver/applicationname/mvcparts와 같은 특정 경로 아래에 있습니다.

Asp.Net MVC 3은 개발자 컴퓨터와 내가 게시 한 서버 모두에 설치됩니다.

+1

설명 : 확장 기능이있는 페이지 (page.aspx (웹 양식))에 대한 모든 직접 액세스가 정상적으로 작동합니다. 로그인 후 브라우저가 myserver/myApplication을 가져오고 myserver/myApplication/default.aspx는 내 개발자 컴퓨터에서 가져 오지 않습니다. 이것은 내가 404를 얻는 곳입니다. 다음으로 URL을 업데이트하면 default.aspx 나 som 기타 aspx 페이지를 가리키게됩니다. –

답변

1

IIS6은 기본적으로 확장없는 URL을 지원하지 않기 때문입니다. configure it이 필요합니다. 그리고 ASP.NET 4를 사용하지 않는 경우 this is for you. 구성하지 않으면; IIS6은 이 aspnet_isapi 필터와 연결되어야한다는 것을 모릅니다. 이것이 ASP.NET 응용 프로그램이라는 것을 알지 못합니다. 이것이 바로 고전 WebForms에서 .NET을 설치할 때 aspnet_isapi 필터와 연결된 .aspx 확장명을 사용한 이유입니다.

확장 된 URL은 통합 파이프 라인 모드에서 실행 중일 때 IIS7 +에서 즉시 사용할 수 있습니다.

+0

당신이 제공 한 Haacks 블로그에 대한 링크에서 내 문제에 대한 해결책을 실제로 볼 수 없습니다. 내가 읽어야 할 것은 그것이 작동해야한다는 것입니다. 그는 403을 얻었지만 나는 404를 얻는다. 넷 4가 설치되어있다. 사실 내 문제는 내 응용 프로그램에서 extentionless URL이 작동하지만 defaultDocument, default.aspx 않습니다. –

+0

@ Riddler777, 기본 문서는 무엇입니까? ASP.NET 응용 프로그램에는 일반적으로 default.aspx 파일이 없습니다. –

+0

defaultDocument는 IIS의 가상 디렉터리 구성에 설정됩니다. –