【问题标题】:Cannot host use LocalDB in web app when hosting on IIS (Windows 10)在 IIS 上托管时无法在 Web 应用程序中使用 LocalDB(Windows 10)
【发布时间】:2016-12-31 16:38:54
【问题描述】:

我正在努力让我的 ASP.NET 核心 (1.1.0) 应用程序在 Windows 10 上的 IIS 下正常运行。尽管该应用程序正在运行并且可以从 localhost 访问,但它无法访问关联的数据库。数据库本身是与 VS2015 社区一起安装的 (localdb)\ProjectV13 类型。如果我使用“dotnet .dll”直接从 PublishOutput 文件夹运行应用程序,那么一切都会按预期工作。 已经用谷歌搜索/搜索了一个解决方案,但仍然没有进一步的解决方案。 接下来我想到的是单独安装 SQL express 和 SSMS 工具,看看是否可行。

有人可以帮忙吗?

【问题讨论】:

  • 你真的用过google吗...?在 google 中搜索“localdb iis”会返回blogs.msdn.microsoft.com/sqlexpress/2011/12/08/… 作为第一个结果。您不应该在 IIS 中使用 localdb。 localdb 仅适用于本地测试和 iis express,因为它在进程中运行(与登录用户具有相同的特权)。当您想在 IIS 中使用 SQL Express 或 SQL Server 时,最好安装它

标签: iis asp.net-core localdb


【解决方案1】:

在 IIS 中托管时不应使用 localdb。 LocalDB 在运行它的用户的上下文中启动。

话虽如此,LocalDB 数据库由创建它的用户拥有和访问。在 IIS 中,默认情况下您没有配置文件。虽然有一些变通方法,但它们或多或少都是肮脏的,不是一种选择。阅读这两篇博文(Part 1Part 2)了解更多信息

安装 SQL Server Express 或完整版 SQL Server。如果您需要一个不需要在后台运行服务器的轻量级数据库,或者使用 Sqlite。

LocalDB 仅用于简化开发,无需安装 SQL Server Express 或 SQL Server 完整版。

【讨论】:

  • 感谢您的回复。是的,我确实做过谷歌,但那篇文章对我来说没有多大意义……我想我应该更仔细地阅读它。无论如何,您的解释更有意义,因此我将尝试使用另一个数据库框架。新年快乐:-)
  • 它不是框架的东西,它的数据库(在本例中为 localdb)不适合在 IIS 中运行
猜你喜欢
  • 2016-06-08
  • 2020-07-25
  • 2019-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多