我有一个使用SQlite数据库的ASP.NET核心Web应用程序。 这工作完美,但现在我想要承载它在天蓝色。我应该在哪里放置我的* .db文件?我想wwwroot文件夹不是最好的地方,因为它可以浏览!ASP.Net Azure中的核心Sqlite
曾用于此的App_Data文件夹。这些文件应该放到ASP.NET Core的哪里?
谢谢你的提示...
我有一个使用SQlite数据库的ASP.NET核心Web应用程序。 这工作完美,但现在我想要承载它在天蓝色。我应该在哪里放置我的* .db文件?我想wwwroot文件夹不是最好的地方,因为它可以浏览!ASP.Net Azure中的核心Sqlite
曾用于此的App_Data文件夹。这些文件应该放到ASP.NET Core的哪里?
谢谢你的提示...
所以我发现的是,如果您使用以下设置:
"ConnectionStrings": {
"DefaultConnection": "Data Source=.\\DbName.db"
}
数据库文件将被自动放置在Azure上的Web应用程序的根文件夹,并没有我想象到的wwwroot 。所以这对我来说是完美的,它带来的好处是在创建数据库文件之前不需要执行任何目录检查。
这样做会上传你的根目录下的数据库权的最简单方法。这意味着您默认具有{WebsiteName.dill}或WebApplication.dll的目录。对于Azure,这将是您的D:\home\site\wwwroot
目录(请注意,这不是您应用程序中静态文件的wwwroot
文件夹,而是azure中的根文件夹也命名为wwwroot)。然后,你可以用你的appsettings.Production.json文件中的连接字符串连接到这个数据库。
"ConnectionStrings": {
"DefaultConnection": "Data Source=<DATABASE_NAME>.db"
}
。 这应该做的伎俩。
但是不应该将数据文件放在wwwroot之外?我的意思是这是获得托管的静态文件的地方。所以这是一个错误的地方国际海事组织。 – Matteo
是的,你完全可以把它放在wwwroot文件夹之外。只要确保为连接字符串使用适当的目录。我说过将它放在wwwroot文件夹中,以便为您提供最简单的示例。 –
感谢您的解释... – Matteo