简体   繁体   中英

ASP.Net vNext App_Data folder

Similar question to the one found here: ASP.NET MVC - Find Absolute Path to the App_Data folder from Controller .

Is App_Data folder gone? Server.MapPath seems to be gone too.

I tried to achieve the same results with Url.Content , but it doesn't seem to be working.

We do have App_Data in vNext .

This should still work

string path = AppDomain.CurrentDomain.GetData("DataDirectory").ToString();

As for Server.MapPath equivalents you can use AppDomain.CurrentDomain.BaseDirectory and build your path from there.

You can also use the IApplicationEnvironment service

private readonly IApplicationEnvironment _appEnvironment;

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

public IActionResult Index()
{
    var rootPath = _appEnvironment.ApplicationBasePath;
    return View();
}

IHostingEnvironment is the moral equivalent of the IApplicationEnvironment for web applications . For PhysicalFileSystem , IHostingEnvironment falls back to IApplicationEnvironment .

private readonly IHostingEnvironment _hostingEnvironment;

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

public IActionResult Index()
{
   var rootPath = _hostingEnvironment.MapPath("APP_DATA");
   return View();
}

MapPath exists in IHostingEnvironment

private readonly IHostingEnvironment _env;
public HomeController(IHostingEnvironment env)
{
    _env = env;
}

public IActionResult Index()
{
   var dataFolderPath = _env.MapPath("APP_DATA");
   return View();
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM