由IIS承载时,数据库连接失败

由IIS承载时,数据库连接失败,iis,identityserver4,Iis,Identityserver4,我的IdentityServer在自托管(Kestrel)时工作正常,但在IIS中托管时抛出错误:“使用与服务器“”上数据库“MyTestID”的连接时出错”和“用户(我的机器名)$”登录失败”。我在appsettings.json中定义了一个连接字符串,其值为“Server=;Database=MyTestIDS;trusted_connection=True;”,它连接到本地计算机上的SQL Server。正如我之前提到的,它一直工作良好,直到现在我在IIS中托管。我检查了部署的代码,app

我的IdentityServer在自托管(Kestrel)时工作正常,但在IIS中托管时抛出错误:“使用与服务器“”上数据库“MyTestID”的连接时出错”和“用户(我的机器名)$”登录失败”。我在appsettings.json中定义了一个连接字符串,其值为“Server=;Database=MyTestIDS;trusted_connection=True;”,它连接到本地计算机上的SQL Server。正如我之前提到的,它一直工作良好,直到现在我在IIS中托管。我检查了部署的代码,appsettings.json就在那里。应用程序是否仍从IIS下的appsettings.json读取配置设置?或者我应该把它移到其他地方吗?

我已经解决了问题——连接字符串的格式。当slfe托管时,我使用了“Server=;Database=MyTestDB;trusted_connection=True;”,它在那里工作得很好。但在IIS下,我必须将其更改为“Server=MyServer,MyPort;Database=MyTestDB;user id=MyUsrID;Password=MyPassword”。现在我工作很好。

不同的环境有不同的应用程序设置吗?谢谢sombrerogalaxy的提问。我有一个appsettings.json和一个appsettings.Development.json。我目前正在开发环境变量值下运行。我在两个文件中定义了相同的连接字符串。我已经解决了问题-连接字符串的格式。当slfe托管时,我使用了“Server=;Database=MyTestDB;trusted_connection=True;”,它在那里工作得很好。但在IIS下,我必须将其更改为“Server=MyServer,MyPort;Database=MyTestDB;user id=MyUsrID;Password=MyPassword”。不知道为什么,但现在我工作得很好。如果你的问题解决了,那么我请求你发布并标记有用的建议作为答案。这将帮助其他面临同样问题的人。如果您的问题仍然存在,请尝试参考社区成员提供的解决方案。如果您还有其他问题,请告诉我们。我们将努力提供进一步的建议来解决这个问题。谢谢你的理解。嗨,贾尔帕。正如我在评论中解释的那样,我已经找到了解决问题的方法,但我不完全确定原因。所以我决定不回答这个问题,以免误导人们。但现在我要做你要求我做的事——我会接受我的评论,并做出回答。