在 ASP.NET MVC 项目中从控制器中找到 App_Data 文件夹的绝对路径的正确方法是什么?我希望能够临时使用 .xml 文件,并且我不想对路径进行硬编码。
这不起作用:
[HandleError] public class HomeController : Controller { public ActionResult Index() { string path = VirtualPathUtility.ToAbsolute("~/App_Data/somedata.xml"); //.... do whatever return View(); } }
我认为在网络上下文之外 VirtualPathUtility.ToAbsolute() 不起作用。字符串路径返回为“C:\App_Data\somedata.xml”
我应该在哪里确定 MVC 应用程序中 .xml 文件的路径?global.asax 并将其粘贴为应用程序级变量?
string path = HttpContext.Current.Server.MapPath("~/App_Data/somedata.xml");
string path = Server.MapPath("~/App_Data/somedata.xml");
MSDN 参考:
HttpServerUtility.MapPath 方法