ASP.Net vNext App_Data文件夹

And*_*ink 7 c# asp.net asp.net-mvc asp.net-core

类似于这里找到的问题:ASP.NET MVC - 从Controller中查找App_Data文件夹的绝对路径.

App_Data夹走了吗?Server.MapPath似乎也消失了.

我试图用相同的结果Url.Content,但它似乎没有工作.

Mih*_*scu 8

我们App_DatavNext中有.

这应该仍然有效

string path = AppDomain.CurrentDomain.GetData("DataDirectory").ToString();
Run Code Online (Sandbox Code Playgroud)

至于Server.MapPath等价物,你可以使用AppDomain.CurrentDomain.BaseDirectory并从那里建立你的路径.

您也可以使用该IApplicationEnvironment服务

private readonly IApplicationEnvironment _appEnvironment;

public HomeController(IApplicationEnvironment appEnvironment)
{
    _appEnvironment = appEnvironment;
}

public IActionResult Index()
{
    var rootPath = _appEnvironment.ApplicationBasePath;
    return View();
}
Run Code Online (Sandbox Code Playgroud)

IHostingEnvironment是的道德等同IApplicationEnvironmentWeb应用程序.对于PhysicalFileSystem,请IHostingEnvironment回到IApplicationEnvironment.

private readonly IHostingEnvironment _hostingEnvironment;

public HomeController(IHostingEnvironment hostingEnvironment)
{
    _hostingEnvironment = hostingEnvironment;
}

public IActionResult Index()
{
   var rootPath = _hostingEnvironment.MapPath("APP_DATA");
   return View();
}
Run Code Online (Sandbox Code Playgroud)

  • string path = AppDomain.CurrentDomain.GetData("DataDirectory").ToString(); 不适用于CoreCLR (4认同)