我有一個使用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