Проверьте, существует ли относительный URI - PullRequest
1 голос
/ 21 сентября 2009

Я хочу проверить, возвращает ли URI верный результат. Пример:

String path = String.Format("{0}/agreements/{1}.gif", PicRoot, languageTwoLetterCode);
WebRequest request = WebRequest.Create(new Uri(path, UriKind.Relative));
...

Это исключает исключение. Поэтому я полагаю, что должен предоставить абсолютный URI. Все примеры, которые я могу найти, используют жестко заданный корень (например, www.example.com). Это, конечно, неприемлемо, поскольку неясно, каким будет действительный корень сайта.

Как я могу либо проверить результат по относительному URI, либо найти текущий корень? Существуют ли более эффективные способы проверки, если, скажем, «/content/pics/agreements/en.gif» возвращает gif или 404?

1 Ответ

1 голос
/ 21 сентября 2009

Вы можете получить корень веб-сайта от объекта сервера.

Вы можете использовать Server.MapPath (см. также ) и затем проверить, находится ли физический путь на сервере (используйте File.Exists )

...