【问题标题】:Problems when deploy my webapi in the iis在 iis 中部署我的 webapi 时出现的问题
【发布时间】: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


【解决方案1】:

当您在 Visual Studio 上运行 webapi 时,Visual Studio 会使用您的本地帐户启动 IISExpress,此帐户将连接数据库(查看连接字符串:Data Source=.\SQLEXPRESS;Initial Catalog=database;Integrated Security=True)。该帐户默认具有数据库权限。

现在如果你想在 IIS 上运行你的 webapi,有两种方法:

  1. 添加一个可以访问您的数据库并更改您的连接字符串的帐户

  2. 从 SQL Management Studio 添加 IIS 应用程序池身份帐户,然后更改权限。

【讨论】:

    【解决方案2】:

    我在使用 MS LocalDB 时遇到了同样的问题。确实这个错误是由于sql server权限造成的。但是,就我而言,我尝试授予权限,甚至在 IIS 站点管理器的“编辑站点->连接为”中添加了我的用户,但它不适用于 LocalDB。

    我的修复:由于我们需要使用 SQL 服务器托管我们的网站,所以我将数据库上传到 SQL 服务器并更改了 appsettings.json 中的连接字符串,如下所示:

    “IdentityDbContextConnection”: "服务器=TestServer001\sqlexpress;数据库=WEBPROJECTDB;集成 安全=SSPI;"

    和 Web.Config

    【讨论】:

      猜你喜欢
      • 2012-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多