2017-02-13 91 views
2

我有一个使用SQlite数据库的ASP.NET核心Web应用程序。 这工作完美,但现在我想要承载它在天蓝色。我应该在哪里放置我的* .db文件?我想wwwroot文件夹不是最好的地方,因为它可以浏览!ASP.Net Azure中的核心Sqlite

曾用于此的App_Data文件夹。这些文件应该放到ASP.NET Core的哪里?

谢谢你的提示...

回答

1

所以我发现的是,如果您使用以下设置:

"ConnectionStrings": { 
    "DefaultConnection": "Data Source=.\\DbName.db" 
} 

数据库文件将被自动放置在Azure上的Web应用程序的根文件夹,并没有我想象到的wwwroot 。所以这对我来说是完美的,它带来的好处是在创建数据库文件之前不需要执行任何目录检查。

0

这样做会上传你的根目录下的数据库权的最简单方法。这意味着您默认具有{WebsiteName.dill}或WebApplication.dll的目录。对于Azure,这将是您的D:\home\site\wwwroot目录(请注意,这不是您应用程序中静态文件的wwwroot文件夹,而是azure中的根文件夹也命名为wwwroot)。然后,你可以用你的appsettings.Production.json文件中的连接字符串连接到这个数据库。

"ConnectionStrings": { 
    "DefaultConnection": "Data Source=<DATABASE_NAME>.db" 
    } 

。 这应该做的伎俩。

+0

但是不应该将数据文件放在wwwroot之外?我的意思是这是获得托管的静态文件的地方。所以这是一个错误的地方国际海事组织。 – Matteo

+2

是的,你完全可以把它放在wwwroot文件夹之外。只要确保为连接字符串使用适当的目录。我说过将它放在wwwroot文件夹中,以便为您提供最简单的示例。 –

+0

感谢您的解释... – Matteo