2017-02-13 90 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