Какая переменная сервера в фильтре ISAPI дает мне физический путь к виртуальному каталогу? - PullRequest
1 голос
/ 02 октября 2009

Если в IIS Manager определено «приложение», я могу получить значение серверной переменной APPL_MD_PATH, чтобы получить физический путь, связанный с приложением.

Если у меня настроен «виртуальный каталог», APPL_MD_PATH все равно дает мне физический путь, связанный с приложением, а не физический путь, связанный с виртуальным каталогом.

  • Как я могу получить физический путь к виртуальному каталогу, с которым связан текущий запрос?

  • Как определить, обслуживается ли запрос из приложения по сравнению с виртуальным каталогом?

1 Ответ

2 голосов
/ 05 октября 2009

Вы можете использовать HSE_REQ_MAP_URL_TO_PATH_EX, чтобы найти физический путь любого URL.

Если вы хотите сказать, находитесь ли вы во вдиру или нет, просто начните переходить по URL-адресу, удаляя один крайний правый сегмент за раз. Звоните HSE_REQ_MAP_URL_TO_PATH_EX, пока вы либо а) не достигнете корня приложения, либо б) не попадете в физический каталог, префикс которого отличается от предыдущего. Если (б), то вы находитесь в виртуальном каталоге.

Вы также можете использовать описанный выше подход, чтобы найти физический путь текущего vdir.

...