ASP.NET5 MVC6中的App_Data目录

时间:2015-07-23 05:57:09

标签: asp.net-core asp.net-core-mvc

我一直在尝试使用ASP.NET5 MVC6应用。在以前的版本中,有一个目录 App_Data 。我用这个文件夹来存储错误日志。但在最新版本中找不到它。有什么帮助吗?

3 个答案:

答案 0 :(得分:17)

这适用于带有Core 2的ASP.NET MVC

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
// Use this code if you want the App_Data folder to be in wwwroot
//string baseDir = env.WebRootPath;

// Use this if you want App_Data off your project root folder
string baseDir = env.ContentRootPath;

AppDomain.CurrentDomain.SetData("DataDirectory", System.IO.Path.Combine(baseDir, "App_Data"));
}

现在您可以将此代码放在需要它的位置以获取App_Data文件夹

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

答案 1 :(得分:16)

我认为将App_Data放在wwwroot下是个坏主意。 使用asp.net 5,当我们发布/部署时,我们得到2个文件夹approot和wwwroot。 任何不由http请求提供服务的文件都不应该在wwwroot下。 对于以前会在App_Data文件夹下的内容更好地生活在相应的地方。 这related question of how to access files from approot should be of help

答案 2 :(得分:11)

{5}目录仍然可以在ASP.NET 5中使用,默认情况下不会创建它。

App_Data下创建它。这是wwwroot

返回的路径

如果您想使用其他DataDirectory,则应致电AppDomain.CurrentDomain.GetData("DataDirectory").ToString()

SetData