我有一个Web项目(C#Asp.Net,EF 4,MS SQL 2008和IIS 7),我需要将其本地迁移到IIS 7(目前可在CASSINI上正常运行)。
我在IIS本地进行Default Web Site
部署。我的部署和部署Default Web Site
都在ASP.NET v4.0池中(针对设置请看图片),将池目标Framework 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上手动授予权限,这是他回答中的解释。使用IIS 7.5和MS SQL 2008 R2,不需要手动设置权限。