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