我有一个web项目(C#Asp.Net、EF 4、MS SQL 2008和IIS 7),我需要在本地将其迁移到IIS 7(目前CASSINI可以正常工作).
在IIS本地,我的部署中有我的Default Web Site
.my deploy和Default Web Site
都在ASP池中.NETV4.0(查看图像设置)将池目标框架4作为我的web项目.
我还有其他项目在本地IIS上运行,它们工作起来没有任何问题(但它们不使用实体框架).
使用事件记录器,我看到如下错误:
Exception information:
Exception type: EntityException
Exception message: The underlying provider failed on Open.
at System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf(Boolean openCondition, DbConnection storeConnectionToOpen, DbConnection originalConnection, String exceptionCode, String attemptedOperation, Boolean& closeStoreConnectionOnFailure)
Login failed for user 'IIS APPPOOL\ASP.NET v4.0'.
at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
at System.Data.SqlClient.SqlConnection.Open()
at System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf(Boolean openCondition, DbConnection storeConnectionToOpen, DbConnection originalConnection, String exceptionCode, String attemptedOperation, Boolean& closeStoreConnectionOnFailure)
更新: 您可以在有关此问题的资源中阅读,必须手动授予对MS SQL 2008的权限,就像Arft在他的回答中所解释的那样. 使用IIS 7.5和MS SQL 2008 R2,应该不需要手动设置权限.