我有一个带有“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:从数据库获取提供程序信息时发生错误。这可能是由实体框架使用不正确的连接字符串引起的。检查内部异常以获取详细信息,并确保连接字符串正确。 ---&GT; System.Data.ProviderIncompatibleException:提供程序未返回ProviderManifestToken字符串。 ---&GT; System.Data.SqlClient.SqlException:用户' NT AUTHORITY \ ANONYMOUS LOGON '登录失败。
重新启动服务器帮助。然而,这在生产环境中不是可接受的解决方案。我们将此问题归因于我们在域中与AD相关的技术问题。然而,这些问题似乎已得到解决。 还有其他可能的原因吗?