2013-07-04 3 views
4

Я создаю веб-сайт и сопоставил его с D:\MyWebApp и в подкаталоге Plugins. Я создаю виртуальный каталог и сопоставил его с D:\Project\Presentation\Web\Accounting. проблема в том, когда я хочу получить физический путь http://localhost/Plugins/Accounting. Я получаю неправильный результат.Server.MapPath не возвращает правильный физический путь, сопоставленный с виртуальным каталогом в подпапке Web-App

как Server.MapPath("~/Plugins/Accounting"), так и Server.MapPath("/Plugins/Accounting") возвращает «D: \ MyWebApp \ Plugins \ Accounting», который физически не существует. Я хочу получить D:\Project\Presentation\Web\Accounting. я искать его и просто получить ниже линии:

  1. Server.MapPath («„) возвращает текущий физический каталог файла (например ASPX) запущенную
  2. Server.MapPath (“..») возвращает родительский каталог
  3. Server.MapPath ("~") возвращает физический путь к корню приложения
  4. Server.MapPath ("/") возвращает физический путь к корню имени домена (is не обязательно совпадает с корнем приложения)

, но в моем случае (виртуальный каталог в подпапке), это не работает !!! Я использую IIS8 и Asp.Net-Mvc 4 и C# 4. как я могу это получить?

ответ

0

Используйте это,

Request.PhysicalApplicationPath + "Plugins\\Accounting\\ 
1

попробовать это

удалить "/ плагин"

по запросу http://localhost/Plugins/AccountingServer.MapPath ("~ /") метод дать путь к вашему папка приложения ..

Server.MapPath("~/Accounting/");//path to your Accounting folder 
+0

это не работа! –

+0

вы хотите получить путь D: \ Project \ Presentation \ Web \ Accounting из http: // localhost/Plugins/Accounting domain или из другого проекта, такого как MyWebApp domain? –

+0

Я хочу D: \ Project \ Presentation \ Web \ Путь учетных записей из localhost/Plugins/Accounting. –

0

Проблема в том, что у вас есть виртуальный каталог, который сбрасывает то, что asp.net считает базовым каталогом вашего приложения. Нужно ли находиться в виртуальном каталоге? Если это так, вы можете попробовать проверить Request.ApplicationPath, чтобы найти его.

+0

yes welegan действительно нужно быть в виртуальном каталоге! –

Смежные вопросы