나는 우수한 IIS7 다시 쓰기 모듈 (V2)을 사용하고 있으며 실제 파일의 존재 여부에 따라 다르게 다시 작성하는 사용자 지정 RewriteProvider를 만들고 싶습니다.IIS7 다시 쓰기 공급자에서 MapPath를 사용하는 방법은 무엇입니까?
나는 성공적이 튜토리얼에서와 같이 공급자를 만들었습니다 http://learn.iis.net/page.aspx/804/developing-a-custom-rewrite-provider-for-url-rewrite-module/
그러나, 정말 실제 경로로 URL을 매핑 할 수 있어야합니다 - 나는 일반적으로 HttpContext.Current.Server를 통해이 작업을 수행 할 것입니다. MapPath() 또는 HostingEnvironment.MapPath()하지만 HttpContext가 초기화되지 않은 것 같습니다 (ReWrite 모듈은 기본 코드이므로 적어도 현재 App Domain 내에서는이 정보를 얻을 수있는 곳에서 작업하는 데 어려움을 겪고 있습니다.).
이 문제를 해결하기 위해 내 자신의 다시 쓰기 모듈을 만들려고하지 않아도됩니다. 누군가 내게 어떤 단서를 가지고 있습니까?
감사합니다. 마크.
감사합니다. 저는 방금 MapPath()의 DirectoryEntry 버전을 작성하는 데 하루 반을 보냈습니다. 해결책은 훨씬 깔끔합니다! 그러나 한 가지는 APPL_PHYSICAL_PATH 변수가 URL 시작 위치를 알려주지 않았지만 PATH_TRANSLATED 변수가 실제로 IIS 7.0의 실제 경로에 직접 매핑되는 것처럼 보입니다. – Kram