2010-03-10 5 views
0

Routing을 사용하기 위해 기존 WebForms 응용 프로그램을 잘라내려고하고 있으며 단계적으로 수행하려고합니다. 그러나, 나는 특정 경로에 몇 가지 문제로 실행하고 있습니다 : 이것은 [SomePage]에서 .aspx 호출로, 전혀 작동하지 않는WebForms을 사용한 ASP.Net 라우팅

//I want to catch existing calls to .aspx pages, but force them through 
// a route, so I can eventually drop the .aspx extension 
new Route("{page}.aspx", new MyCustomRoute()); 

나는에 대한 경로를 변경하면 결코 ...이 경로를 트립하지 않습니다 모양은 다음과 같습니다.

//Same thing sans .aspx extension 
new Route("{page}", new MyCustomRoute()); 

[SomePage]에 대한 모든 전화가 선택됩니다. 어떤 아이디어?

+0

MyCustomRoute 클래스는 어떻게 생겼습니까? – mark123

+0

@ mark123 - 관심을 가져 주셔서 감사합니다. 그러나 나는 그것을 알아 냈다고 생각합니다. 전에 그 물건을 보지 못하고 조금 바보 같아. 그러나 MSDN 문서가 "WebForms 용 Routing"예제의 맨 위에있는 대담한 글자로이 사실을 알려주지 않는다는 사실에 조금 놀랐습니다. – Josh

답변

2

좋아, 그래서 지금은 바보가 된 기분 ...

는 기본적으로 false입니다 RouteExistingFiles라는 RouteCollection 클래스의이 작은 특성이 밝혀졌습니다. 분명히 ASP.Net 라우팅은 기존 파일을 라우팅하기 전에 우선권을 부여하므로 기존 페이지에 대한 호출은 분명히 내 경로에서 처리되지 않습니다. 이 속성을 true로 설정하면 내 문제는 해결되지만 의도하지 않은 부작용이있을 수 있습니다.