ASP.NET относительный путь к файлу в Web.Конфиг

Я хочу указать путь к файлу в моем приложении в Интернете.Файл конфигурации, затем вызовите этот путь в контроллере. Судя по тому, что я нашел в Интернете, я почти там.

Web.Config

<appSettings>
    <add key="filePath" value= "~/App_Data/Physicians.xml" />
</appSettings>

контроллер

//Path of the document       
string xmlData = ConfigurationManager.AppSettings["filePath"].ToString();

однако, это указывает на неправильное место.

enter image description here

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

1 ответов


можно использовать Server.MapPath.

или, альтернативно, сохраните только относительный путь в файле конфигурации, затем используйте:

<appSettings>
    <add key="filePath" value= "App_Data/Physicians.xml" />
</appSettings>

string relativePath = ConfigurationManager.AppSettings["filePath"];
string combinedPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, relativePath)

последний метод будет работать в не-веб-приложениях, поэтому, возможно, лучше.