웹 양식 4 프로젝트가 있고 URL 라우팅을 사용합니다.Webforms 4 개의 URL 라우팅 다중 일치
특정 경로가 둘 이상의 패턴과 일치하는 경우가 있습니다.
라우팅 메커니즘이 각 패턴을 특정 순서로 시도하고 첫 번째 일치에서 중지하는 것 같습니다. (내가 틀렸다면 정정 해주세요). 선택한 패턴에 대한 리소스 (주로 aspx 파일)가 존재하지 않으면 404 오류가 발생합니다 (리소스가 존재하지 않음).
다음 일치 패턴은 기존 자원에 매핑되지만 메커니즘은이를 시도하지 않습니다. (유사한 투 MVC 명명 규칙을 사용하여)
예
routes.MapPageRoute("Action", "{controler}/{action}/{*pathInfo}", "~/Views/{controler}/{action}.aspx");
routes.MapPageRoute("Overview", "{controler}/{*pathInfo}", "~/Views/{controler}/Overview.aspx");
그래서 파일 시스템의 /Views/Patient/Overview.aspx 및 /Views/Patient/Search.aspx있다.
경로 "/환자"두 번째 패턴과 일치하고 "/Views/Patient/Overview.aspx"
경로 "/환자/검색는"첫 번째 일치하는지도한다 패턴과 "/Views/Patient/Search.aspx"
경로 "/환자/검색/SomePathInfo"에서 "/조회/환자/바다를 첫 번째 패턴과 일치하고 매핑됩니다에 매핑 rch.aspx "(치료"SomePathInfo /환자/SomePathInfo "모두 패턴과 일치"는 {* panthinfo} 일환으로 URL의 일부)
이제 문제는 경로가 있다는 것입니다. " 첫 번째 것은 "SomePathInfo"를 {동작} 부분으로 처리합니다 (존재하지 않는 "/Views/Patient/SomePathInfo.aspx"을 검색). 두 번째는 "SomePathInfo"를 {* pathInfo} 부분으로 처리하고 기존 "/Views/Patient/Overview.aspx"에 매핑합니다.
메커니즘은 첫 번째 시도를 시도하지만 SomePathInfo.aspx 파일을 찾을 수 없으며 404 오류를 발생시킵니다.
내 질문 가 기존 자원을 찾을 때까지 각 패턴을 시도하는 메커니즘을 직접 할 수있는 방법이 있나요 "입니다(또는 일부 조건이 만족 될 때까지,보다 일반적인? [여기 : resource.exists] "!