2009-03-26 8 views
0

Microsoft.Web.Mvc의 LinkBuilder에서 URL을 보내려고합니다. 지금이 순간, 내가 가진 :asp.net mvc의 강력한 형식의 URL

LinkBuilder.BuildUrlFromExpression을 (???, RouteTable.Routes, X => x.Index())

하지만에 요청 컨텍스트를 얻을 방법을 잘 모르겠어요 모든 경우. 예 : IHttpModule에 있다면, 어떻게 든 요청 문맥을 얻을 수있게되어 이런 URL을 생성 할 수 있을까요?

답변

0

MVC 설정에 System.Web.Routing을 사용하는 경우 사용자 정의 IHttpHandler 클래스의 새 인스턴스를 반환하는 IRouteHandler (example)을 구현할 수 있습니다. HttpHandler를 인스턴스화하는 논리는 GetHttpHandler IRouteHandler 메서드에 들어가고 IRouteHandler는 route request context data에 액세스 할 수 있으므로이를 HttpHandler의 생성자에 전달하여 적절하게 사용할 수 있습니다.

+0

아마 뭔가를 놓치고 있지만, LinkBuilder를 사용하여 URL을 만들 때 HttpModule 또는 기존 코드를 만들 때 어떻게 도움이되는지는 알 수 없습니다. – pondermatic

+0

@Nick LinkBuilder는 System.Web.Routing의 RequestContext를 사용합니다. 해당 RequestContext를 얻으려면 라우팅을 사용해야합니다. 라우팅 컨텍스트에서 사용할 수있는 HttpHandler를 만드는 방법을 설명했습니다. –

관련 문제