【问题标题】:ASP.Net Core Sqlite in AzureAzure 中的 ASP.Net Core Sqlite
【发布时间】:2017-02-13 09:23:25
【问题描述】:

我有一个使用 SQlite 数据库的 ASP.NET Core Web 应用程序。 这很完美,但现在我想在 azure 中托管它。我应该把我的 *.db 文件放在哪里?我想 wwwroot 文件夹不是最好的地方,因为它可以浏览!

曾经有 App_Data 文件夹用于此目的。这些文件在 ASP.NET Core 中应该放在哪里?

感谢您的提示...

【问题讨论】:

    标签: asp.net asp.net-mvc sqlite azure asp.net-core


    【解决方案1】:

    所以我发现如果你使用以下设置:

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

    数据库文件将自动放置在 Azure 上 Web 应用程序的根文件夹中,而不是像我想象的那样放在 wwwroot 中。因此,这对我来说非常有效,并带来了在创建数据库文件之前无需进行目录存在检查的优势。

    【讨论】:

      【解决方案2】:

      执行此操作的最简单方法是将数据库直接上传到您的根目录中。这意味着默认情况下您拥有 {WebsiteName.dill} 或 WebApplication.dll 的目录。对于 Azure,这将是您的 D:\home\site\wwwroot 目录(请注意,这不是应用程序中静态文件的 wwwroot 文件夹,而是 azure 中的根文件夹也名为 wwwroot)。然后,您将使用 appsettings.Production.json 文件中的连接字符串连接到该数据库,如下所示。

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

      。 这应该可以解决问题。

      【讨论】:

      • 但是数据文件不应该在 wwwroot 之外吗?我的意思是这是托管静态文件的地方。所以那是海事组织有点错误的地方。
      • 是的,您完全可以将它放在 wwwroot 文件夹之外。只需确保为您的连接字符串使用适当的目录即可。我说把它放在 wwwroot 文件夹中,以便为您提供最简单的示例。
      猜你喜欢
      • 2016-07-29
      • 2021-10-28
      • 2017-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-17
      • 1970-01-01
      相关资源
      最近更新 更多