我有带有“ApplicationPoolIdentity”用户帐户的 IIS 应用程序池,运行 ASP.NET MVC 应用程序,它首先使用 EF 代码连接到 SQL Server,在域中的单独机器上运行。这是连接字符串:
<add name="MyDatabaseContext"
providerName="System.Data.SqlClient"
connectionString=
"Data Source=ServerName;Initial Catalog=DatabaseName;Integrated Security=True"/>
SQL Server 具有相应 Active Directory 组的登录名。
通常,一切都运行顺利。但是有时,突然(没有找到可能的触发器),我开始收到以下异常:
System.Data.ProviderIncompatibleException:从数据库获取提供者信息时出错。这可能是由 Entity Framework 使用不正确的连接字符串引起的。检查内部异常以获取详细信息并确保连接字符串正确。---> System.Data.ProviderIncompatibleException:提供程序未返回 ProviderManifestToken 字符串。---> System.Data.SqlClient.SqlException:用户“ NT AUTHORITY\ANONYMOUS LOGON ”登录失败。
重新启动服务器机器会有所帮助。但是,这在生产环境中不是可接受的解决方案。我们将此问题归因于我们在域中遇到的与 AD 相关的技术问题。不过,这些问题似乎已经解决了。还有其他可能的原因吗?