小编典典

ASP.NET MVC - 从控制器中查找 App_Data 文件夹的绝对路径

all

在 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 并将其粘贴为应用程序级变量?


阅读 110

收藏
2022-04-25

共1个答案

小编典典

ASP.NET MVC1 -> MVC3

string path = HttpContext.Current.Server.MapPath("~/App_Data/somedata.xml");

ASP.NET MVC4

string path = Server.MapPath("~/App_Data/somedata.xml");

MSDN 参考:

HttpServerUtility.MapPath 方法

2022-04-25