2008-08-22 4 views
2

최근 프로젝트에서 필자는 PHP로 자체 MVC 프레임 워크를 구축했습니다. 내가 구현 한 것들 중 하나는 라우팅 시스템이었다. Apache의 mod_rewrite를 사용하여 모든 요청을 index.php로 보낸 다음 URI를 파싱하여 정보를 추출하고 요청을 라우팅했습니다.ASP.NET - 자체 라우팅 시스템 구축

저는 ASP.NET에서 지금 당황하고 있습니다. 비슷한 것을 수행 할 수 있을지 궁금합니다. 중앙 경로 처리가 수행되는 한 페이지로 모든 요청을 라우팅하는 방법이 있습니까 (워드 프레스와 유사한 방식으로)? 저는 ASP.NET 용 MVC 프레임 워크에 대해 알고 있습니다 만, 저는 주위를 어루 만져 배우면서이 찌르기를하고 싶습니다. 편집이

: 이 BTW, 내 호스팅 제공 업체가 실행 난 당신이 당신이 원하는 것을 성취 할 수있는 모든 방법을 충분히 인식하고 있는지 확인하려면 때문에 6

답변

6

이것은 긴 해답이 될 것입니다 IIS .

ASP.NET MVC 프레임 워크를 지원하는 라우팅 엔진은 기존 ASP.NET 프레임 워크에서 작동합니다. ASP.NET MVC 응용 프로그램에서와 같이 RouteTable을 사용하고 경로를 할당하는 이점을 누릴 수 있습니다. 전통적인 ASP.NET 사이트에서는 MVC 부분을 얻지 못합니다. 이는 ASP.NET 프레임 워크의 큰 발전이었으며,이 코드를 재사용하여 두 프레임 워크에서 모두 사용할 수있게하는 것이 좋습니다. 이에 대해 더 자세히 알고 싶다면 ScottGu의 post을 확인하고 URL Routing Improvements로 스크롤하십시오. 또한 Phil Haack이 WebForms에서 System.Web.Routing을 사용하는 방법에 대한 reference도 있습니다.

이제 자신을 쓰고 싶다면. ASP.NET HTTP 파이프 라인과 IHttpModuleIHttpHandler 인터페이스를 구현하여 라우팅을 처리하기 위해 HttpModule 또는 HttpHandler 클래스를 만드는 방법을 배워야합니다. 이러한 인터페이스는 자체 라우팅 엔진을 작성하는 데 중요한 요소입니다. 이러한 인터페이스를 실제 예제에 적용하려면이 MSDN article을 충분히 권장 할 수 없습니다. 그것은 인터페이스 중 하나를 사용하는 방법과 라우팅/URL 재 작성 엔진을 만들 때의 차이점을 설명합니다.

자, 이것이 너에게 많은 것을 알면. .NET에서 라우팅/URL 재 작성 엔진을 이미 작성한 사람들을 사용할 수있는 타사 라이브러리가 있습니다. 여기에 바로 전에 "What Url rewriter do you use for ASP.Net?"이라고 묻지 않은 질문이 있습니다.

+0

좋은 답변 ... 나는 또한이 기사를 좋아했습니다. - http://chriscavanagh.wordpress.com/2008/03/11/aspnet-routing-goodbye-url-rewriting/, http://blogs.msdn.com /b/mikeormond/archive/2008/05/14/using-asp-net-routing-independent-of-mvc.aspx – kape123