托管在IIS(Windows 10)上时无法在Web应用程序中托管LocalDB

问题描述:

我很努力让我的ASP.NET核心(1.1.0)应用程序在Windows 10的IIS下正常运行。尽管该应用程序正在运行,并且可从本地主机不能访问关联的数据库。数据库本身是与VS2015社区一起安装的(localdb)\ ProjectV13类型。如果我使用'dotnet .dll'直接从PublishOutput文件夹运行应用程序,那么一切都按预期工作。 已经搜索/ SO'd的解决方案,但仍然没有进一步与此。 我在想的下一件事就是单独安装SQL Express以及SSMS工具,看看是否可行。托管在IIS(Windows 10)上时无法在Web应用程序中托管LocalDB

任何人都可以帮忙吗?

+0

你真的用过谷歌...吗?在google中搜索“localdb iis”返回http://blogs.msdn.microsoft.com/sqlexpress/2011/12/08/using-localdb-with-full-iis-part-1-user-profile/作为**第一个结果**。您不应该在IIS中使用localdb。 localdb只适用于本地测试和iis express,因为它在进程中运行(具有与登录用户相同的权限)。当您想在IIS中使用它时,最好安装SQL Express或SQL Server – Tseng

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

这就是说,LocalDB数据库由创建它的用户拥有和访问。在IIS中,默认情况下没有配置文件。虽然有解决方法,但它们都或多或少都很脏,而不是一个选项。阅读更多关于这两篇博文(Part 1Part 2

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

LocalDB只是为了方便无需安装SQL Server Express或SQL Server完整版本的开发。

+0

感谢您的回复。是的,我真的没有谷歌,但这个帖子对我来说没有什么意义......我猜应该更仔细地阅读它。无论如何,你的解释更有意义,所以我会尝试使用另一个数据库框架。新年快乐:-) –

+0

它不是框架的东西,它的数据库(在本例中是localdb)不适合在IIS中运行 – Tseng