【发布时间】:2019-02-28 08:29:24
【问题描述】:
我在 .Net Core 2.1 中有一个 webapi。我使用了 Visual Studio 2017 附带的 Microsoft SQL Management Studio 来制作 webapi 用来处理其数据的数据库。当我在 VisualStudio 上运行它(webapi)时,它工作正常,我可以通过 POSTMAN 进行调用,并且我得到了很好的响应,但是当我在本地 IIS 上部署 webapi 时出现了问题。我得到这个错误页面:
启动应用程序时出错。 Win32Exception: 未知错误 (0x89c50118) 位置不明 SqlException:建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供者:SQL 网络接口,错误:50 - 发生本地数据库运行时错误。无法创建自动实例。有关错误详细信息,请参阅 Windows 应用程序事件日志。 ) System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity 身份,SqlConnectionString connectionOptions,SqlCredential 凭据,对象 providerInfo,字符串 newPassword,SecureString newSecurePassword,bool redirectedUserInstance,SqlConnectionString userConnectionOptions,SessionData reconnectSessionData,bool applyTransientFaultHandling) Win32Exception: 未知错误 (0x89c50118)
我在appsetting.json中有相同的connectionString,因为我在visual studio中运行webapi时数据库是相同的,所以,我不知道我做错了什么。
我需要在 IIS 或数据库上进行任何特定配置吗?请帮忙?
【问题讨论】:
-
您可能没有为生产更新连接字符串。默认情况下,在 Visual Studio 中,连接字符串将使用 LocalDb,它仅存在于 Visual Studio 中。当您阅读要上线时,您将需要一个真实的数据库实例,并且您需要更新连接字符串以连接到该实例。
-
@ChrisPratt 不知道。我认为
LocalDB类似于“SQL Server Express”。您的评论才是真正的答案!
标签: sql-server iis asp.net-core asp.net-core-webapi