Tengo un proyecto web (C # Asp.Net, EF 4, MS SQL 2008 e IIS 7) y necesito migrarlo a IIS 7 localmente (en este momento funciona bien con CASSINI).
Localmente en IIS tengo mi Default Web Site
con mi implementación. Tanto mi despliegue como Default Web Site
en el grupo ASP.NET v4.0 (buscar imagen para la configuración), el grupo objetivo Framework 4 como mi proyecto web.
Al visitar el sitio, el navegador no muestra la página y permite que el navegador descargue la página.
Tengo otros proyectos ejecutándose en IIS localmente y funcionan sin problemas (pero no usan Entity Framework).
Usando el registrador de eventos veo los errores a continuación:
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)
ACTUALIZACIÓN: Puede leer en los recursos sobre esta pregunta que los permisos deben otorgarse manualmente en MS SQL 2008 como se explica en su respuesta. Con IIS 7.5 y MS SQL 2008 R2, no debería ser necesario configurar manualmente el permiso.