[.NET/ASP.NET] - [ASP.NET] ASP.NET MVC2 Site 만들기 (1)
[.NET/ASP.NET] - [ASP.NET] ASP.NET MVC2 Site 만들기 (2)
[.NET/ASP.NET] - [ASP.NET] ASP.NET MVC2 Site 만들기 (3)
[.NET/ASP.NET] - [ASP.NET] ASP.NET MVC2 Site 만들기 (4)

이번엔 ASP.NET Routing 에 대해서 살펴볼까 합니다.

ASP.NET MVC Framework 에서는 Controller Class와 Action 에 URL을 연결하기 위해서 ASP.NET Routing 을 사용합니다. ASP.NET Routing 은 여러분이 먼저 정의해 놓은 패턴에 따라 URL 내의 parameter 를 파싱합니다. 그리고 자동적으로 parameter argument 로 Controller Action 에 변수로 전달합니다. 이 과정에서 Web site 내의 특정파일을 연결할 필요는 없습니다.

기본적으로 ASP.NET MVC Project 는 미리 설정된 URL Routing Rule Set 을 가집니다.
새로운 ASP.NET MVC project template 에 의해서 생성되는 Global.asax 의 ASP.NET Application Class 내에 선언된 기본적인 이름 기반(name-based) URL mapping 규칙 set 을 사용하여 개발을 시작할 수 있습니다.
기본적으로 [Controller]/[Action]/[id] 의 패턴을 가지고 있습니다.

우리가 만든 Web Site 를 호출해 보겠습니다. 50000번 포트를 사용하고 있었죠?
http://localhost:50000 를 날립니다. 
안뜬다면... ASP.NET Development Web Server 가 호출되어있나 확인하시고...
아래와 같이 뜹니다.

 우리가 Web Server 에 http://localhost:50000 라는 Request 를 날리면 ASP.NET Routing Engin 은 이 Request 를 가로 채서 기본적으로 등록된 [Controller]/[Action]/[id] 패턴의 Route 를 적용할 것입니다.
그런데 URL 에는 Pattern 에 적용할 내용이 포함되어 있지 않죠?
그럼 Routing Engin은 기본 Controller 와 기본 Action 으로 instance를 생성합니다.
기본 값들은 어떻게 알 수 있냐고요?

Global.asax 파일의 Application Class 를 보면 알 수 있습니다.

    7     Shared Sub RegisterRoutes(ByVal routes As RouteCollection)

    8         routes.IgnoreRoute("{resource}.axd/{*pathInfo}")

    9 

   10         ' MapRoute takes the following parameters, in order:

   11         ' (1) Route name

   12         ' (2) URL with parameters

   13         ' (3) Parameter defaults

   14         routes.MapRoute( _

   15             "Default", _

   16             "{controller}/{action}/{id}", _

   17             New With {.controller = "Home", .action = "Index", .id = UrlParameter.Optional} _

   18         )

   19 

   20     End Sub


17 Line 을 보시면 아시겠죠?

음... 또한가지 알아 두셔야 할 점은 이 RegisterRoutes Method 를 수정해서
 [Controller]/[Action]/[id] 패턴의 Route Rule 을 새롭게 수정하실수 있다는 것입니다.

이번 아티클까지 MVC Framework 을 이용해서 Site 를 제작하는데 필요한 내용을 간략하게 살펴보았고 다음에는 Site를 제작해 보도록 하겠습니다.

그럼 행복한 고수되십시요.


woojja ))*
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\



Posted by woojja