문제

Web Forms 애플리케이션에 URL 라우팅을 사용할 계획이었습니다.하지만 몇 편을 읽고 나면 게시물, 쉬운 접근인지 잘 모르겠습니다.

를 사용하는 것이 더 낫습니까? URL 재작성 모듈 웹 양식용?그러나 IIS7에만 해당됩니다.처음에는 URL 라우팅이 Asp.Net MVC에서 완전히 분리되어 웹 양식에 사용될 수 있다는 소문이 있었습니다.

어떤 제안이라도 듣고 싶습니다 ..

도움이 되었습니까?

해결책

거기에 여기 좋은 게시물이 있어요 IIS 팀 구성원이 둘 사이의 차이점에 대해 설명했습니다.

제가 조언하고 싶은 한 가지 주의 사항은 WebForms의 경우 라우팅을 사용할 때 주의해야 한다는 것입니다.사용 방법에 대한 샘플 구현을 작성했습니다. WebForms를 사용한 라우팅 이러한 문제를 해결하고 귀하의 질문에 답변하는 데 도움이 되기를 바랍니다.

다른 팁

이 주제에 관해 제가 찾은 최고의 기사는 다음과 같습니다. IIS URL 재작성 및 ASP.NET 라우팅 루슬란 야쿠셰프 지음.

IIS URL 재작성

클라이언트가 웹 서버에 특정 URL을 요청하면 URL 재작성 구성 요소는 요청된 URL을 분석하고 이를 동일한 서버의 다른 다른 URL로 변경합니다.URL 재작성 구성 요소는 요청 처리 파이프라인의 초기 단계에서 실행되므로 웹 서버가 요청 처리에 사용할 핸들러를 결정하기 전에 요청된 URL을 수정할 수 있습니다.

IIS URL Rewriting

ASP.NET 라우팅

ASP.NET 라우팅은 캐시 확인 단계(PostResolveRequestCache 이벤트)와 맵 처리기 단계(PostMapRequestHandler)에서 IIS 요청 처리 파이프라인에 연결되는 관리 코드 모듈로 구현됩니다.ASP.NET 라우팅은 웹 응용 프로그램에 대한 모든 요청에 ​​대해 실행되도록 구성됩니다.

IIS URL Routing

URL 재작성과 ASP.NET 라우팅의 차이점:

  1. URL 재작성은 URL 경로를 조작하는 데 사용됩니다. 웹 서버에서 요청을 처리하기 전에.URL 재작성 모듈은 재작성된 URL을 최종적으로 처리할 핸들러에 대해 아무것도 모릅니다.또한 실제 요청 처리기는 URL이 다시 작성되었음을 알지 못할 수도 있습니다.
  2. ASP.NET 라우팅은 다음과 같은 용도로 사용됩니다. 요청된 URL 경로를 기반으로 핸들러에 요청을 전달합니다..URL 재작성과 달리 라우팅 구성 요소는 핸들러에 대해 알고 요청된 URL에 대한 응답을 생성해야 하는 핸들러를 선택합니다.ASP.NET 라우팅을 고급 처리기 매핑 메커니즘으로 생각할 수 있습니다.

이러한 개념적 차이점 외에도 IIS URL 재작성과 ASP.NET 라우팅 간에는 몇 가지 기능적 차이점이 있습니다.

  1. IIS URL 재작성 모듈은 ASP.NET, PHP, ASP 및 정적 파일을 포함하는 모든 유형의 웹 응용 프로그램에서 사용할 수 있습니다.ASP.NET 라우팅은 .NET Framework 기반 웹 응용 프로그램에서만 사용할 수 있습니다.
  2. IIS URL 재작성 모듈은 응용 프로그램 풀에 통합 또는 클래식 IIS 파이프라인 모드가 사용되는지 여부에 관계없이 동일한 방식으로 작동합니다.ASP.NET 라우팅의 경우 통합 파이프라인 모드를 사용하는 것이 좋습니다.ASP.NET 라우팅은 클래식 모드에서 작동할 수 있지만 이 경우 응용 프로그램 URL에 파일 확장명이 포함되어야 하거나 응용 프로그램이 IIS에서 "*" 처리기 매핑을 사용하도록 구성되어야 합니다.
  3. URL 재작성 모듈은 도메인 이름, HTTP 헤더 및 서버 변수를 기반으로 재작성 결정을 내릴 수 있습니다.기본적으로 ASP.NET 라우팅은 URL 경로 및 HTTP-Method 헤더에서만 작동합니다.
  4. 재작성 외에도 URL 재작성 모듈은 HTTP 리디렉션을 수행하고 사용자 정의 상태 코드를 발행하며 요청을 중단할 수 있습니다.ASP.NET 라우팅은 이러한 작업을 수행하지 않습니다.
  5. 현재 버전에서는 URL 재작성 모듈을 확장할 수 없습니다.ASP.NET 라우팅은 완전히 확장 가능하고 사용자 정의가 가능합니다.

형식화된 URL을 페이지 생성을 위한 팩토리로 사용하시겠습니까?

아니면 .aspx를 없애시겠습니까?

다시 작성하는 것은 .aspx를 없애거나 URL을 정리하기 위한 것입니다.

라우팅은 요청을 보고 이를 처리할 개체를 결정하는 것입니다.비슷하게 들리는데, Phil Haack이 이 주제에 관한 몇 가지 좋은 기사를 가지고 있습니다.

iis6에서는 isapiRewrite가 매우 좋습니다.

나는 최근에 내 사이트의 URL을 더 보기 좋게 만들기 위해 자체 재작성 시스템을 작성했습니다.기본적으로 직접 작성해야 합니다. IHttp모듈 들어오는 요청을 차단하려면 web.config에 추가하세요.그런 다음 HttpContext.Current.RewritePath를 사용하여 가리키는 내용을 변경할 수 있습니다.

또한 사이트를 다음과 같이 구성하고 싶을 것입니다. 모든 것에 aspnet_isapi를 사용하십시오.

PageMethods와 같이 "꼬리"를 사용하는 페이지 작업을 시도하거나 페이지 요소 경로 지정 및 포스트백 양식과 같은 작은 문제를 많이 발견하게 되지만 이를 극복하게 될 것입니다.

관심이 있으시면 코드 링크를 게시하여 확인하실 수 있습니다.나는 이미 많은 문제를 해결했기 때문에 진행하면서 읽을 수 있습니다.나는 이 일을 한 다른 많은 사람들이 또한 좋은 자원이 될 것이라고 확신합니다.

내 정보를 확인해 보세요. 답변 이 질문에: ASP.NET - 자신만의 라우팅 시스템 구축.URL 재작성 방법이나 ASP.NET MVC 프로젝트에서 나온 새로운 라우팅 엔진을 사용하여 자신만의 라우팅 시스템을 구축하는 데 도움이 되는 몇 가지 유용한 참조 자료를 포함합니다.

.Net 3.5 SP1에서 사용할 수 있는 Dynamic Data 프로젝트는 URL 라우팅 구현의 좋은 예를 보여줍니다.

IIS에서 URL을 다시 작성하려면 IIRF IIS5, 6, 7에서 작동합니다.무료.쉬운.빠른.오픈 소스.정규식 지원.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top