I've been trying ASP.NET5 MVC6 app. In the previous version, there was a directory App_Data. I used this folder to store error logs. But it is not found in latest version. Any help?
App_Data contains application data files including . mdf database files, XML files, and other data store files. The App_Data folder is used by ASP.NET to store an application's local database, such as the database for maintaining membership and role information.
The App_Data folder of MVC application is used to contain the application related data files like . mdf files, LocalDB, and XML files, etc. The most important point that you need to remember is that IIS is never going to serve files from this App_Data folder.
The Models folder contains model class files. Typically model class includes public properties, which will be used by the application to hold and manipulate application data.
This works for ASP.NET MVC with Core 2
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")); }
Now you can put this code where you need it to get your App_Data folder
string dataDir = AppDomain.CurrentDomain.GetData("DataDirectory").ToString();
I think putting App_Data under wwwroot is a bad idea. With asp.net 5 when we publish/deploy we get 2 folders approot and wwwroot. Any files that are not going to be served by http requests should not live under wwwroot. It would be better for things that previously would go under App_Data folder to live somewhere under approot instead. This related question of how to access files from approot should be of help
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With