Доступ к файлу содержимого в веб-приложении c # - PullRequest
5 голосов
/ 22 октября 2011

Я думаю об этой проблеме уже 3 дня.
У меня есть xml-файл, помеченный как Content и Always Copy.
Файл был скопирован в:
C:\Users\avi\Documents\Visual Studio 2010\Projects\ExpressBroker\ExpressBroker\bin\XMLMetadata\Actions.1.xml

При доступе к файлу:

//like that:
XDocument actions = XDocument.Load("bin\\XMLMetadata\\Actions.1.xml");
//or like that:
XDocument actions = XDocument.Load("XMLMetadata\\Actions.1.xml");
//or like that:
XDocument actions = XDocument.Load("Actions.1.xml");

я получаю следующее исключение: Exception Details: System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\Program Files\IIS Express\bin\XMLMetadata\Actions.1.xml'.

Почему он был найден в папке IIS?как я могу получить доступ к файлу?

Я использую IIs Express с VWD2010

Ответы [ 3 ]

6 голосов
/ 22 октября 2011

Вы должны иметь относительный путь веб-приложения, используя

Server.MapPath("/")+"bin\\XMLMetadata\\Actions.1.xml" 

, например.

2 голосов
/ 22 октября 2011

Использование

XDocument.Load(Server.MapPath("~/XmlMetaData/Actions.1.xml"));
1 голос
/ 22 октября 2011

Если файл статический, вам может быть лучше встроить его и использовать Assembly.GetExecutingAssembly (). GetManifestResourceStream ().

...