【发布时间】:2010-11-19 02:49:32
【问题描述】:
从 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”
我应该在哪里确定 .xml 文件在 MVC 应用程序中的路径? global.asax 并将其粘贴为应用程序级变量?
【问题讨论】:
-
我猜在关注点和可测试性的分离意义上 - VirtualPathUtility.ToAbsolute() 不应该工作。但是,这样做的正确方法是什么?
标签: .net asp.net-mvc absolute-path