为什么 ASP.NET 核心应用程序在由完整的 IIS 托管时无法从 MYSQL 数据库中获取数据?

Why ASP.NET Core application can't take data form MSSQL database when is hosted by full IIS?

我现在正在学习 ASP.NET 核心,我正在尝试制作单个 Web 应用程序的示例。我正在使用 MVC 和 Entity Framework。我的 HomeController 有两个操作:

我将网站发布到文件系统文件夹。当我 运行 通过 IIS Express 表单 cmd 一切正常时,但当我尝试通过完整的 IIS 托管它时,它不是:我仍然可以正确重定向到视图,但无法从 DB 获取数据。

我放在这里的连接字符串:

public void ConfigureServices(IServiceCollection services)
{
      var connection = @"MY CONNECTION STRING";
      services.AddDbContext<BloggingContext>(options => options.UseSqlServer(connection));
}

假设我的 IIS 配置有问题。

有什么建议吗?

谢谢凯文,我解决了我的问题。

我认为我的问题出在我的连接字符串中。我想连接 SQL 服务器身份验证,但我输入了连接字符串:用户 ID、密码,不幸的是 "Integrated Security=True".

在那种情况下 Windows 使用身份验证并忽略用户 ID 和密码。

我刚刚从连接字符串中删除了 "Integrated Security=True"。现在可以了。

SQL 服务器有混合身份验证并且在我的电脑上...可能当我 运行 IIS Express 它有我的帐户权限,所以这个 "bad" 连接字符串仍然有效很好。