ASP .net текущее физическое местоположение - PullRequest
13 голосов
/ 16 ноября 2009

Привет, я занимаюсь разработкой веб-приложения ASP.net. Мне нужно найти текущее местоположение (физическое) веб-сайта (или каталог bin, содержащий сборки).

Я попытался использовать Directory.GetCurrentDirectory (), и это возвращает мне временный каталог ASP .net.

Мне действительно не нравится идея включить настройку приложения для абсолютного пути в мой файл конфигурации (eww!)

Любая помощь будет высоко ценится! :)

Вывод:

Я должен был дать некоторый контекст относительно того, почему мне нужен физический путь к файлу. Спасибо, ребята, за ваши быстрые ответы на вопрос:)

Я использую XSL-FO для .net (библиотека FO.net ) для создания PDF. Для встраивания изображений в FO требуется указать абсолютный путь:

<fo:external-graphic src="C:\MyWebsite\images\image1.jpg" />

Что мне нужно было сделать, это установить текущий каталог на веб-сайт (или в каталог bin), что позволило бы средству визуализации XSL FO узнать, где найти изображение.

Ответы [ 2 ]

33 голосов
/ 16 ноября 2009

Вам нужно System.Web.HttpRuntime.BinDirectory (физический путь к папке bin ) и System.Web.HttpRuntime.AppDomainAppPath (физический путь к папке приложения ASP.NET верхнего уровня).

5 голосов
/ 16 ноября 2009

Это зависит от того, что именно вы хотите сделать с путем, но обычный подход Server.MapPath() Например:

YourControl.src = Server.MapPath("~/images/image1.jpg");

Возвращает физический путь для указанного файла.

...