ASP.NET Web.Config 中文件的相对路径

ASP.NET Relative Path To File in Web.Config

我想在我的应用程序中的 Web.Config 文件中指定文件路径,然后在控制器中调用该路径。 根据我在网上找到的信息,我已经完成了大部分工作。

Web.Config

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

控制器

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

但是,这指向了错误的位置。

如何从我的应用程序的根目录开始指向我存储在 App_Data 文件夹中的文件?

您可以使用 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)

后一种技术适用于非网络应用程序,因此可以说更好。