Ho un progetto web (C # Asp.Net, EF 4, MS SQL 2008 e IIS 7) e devo migrarlo su IIS 7 localmente (al momento funziona bene con CASSINI).
A livello locale in IIS ho il mio Default Web Site
con la mia distribuzione. Sia la mia distribuzione sia Default Web Site
il pool ASP.NET v4.0 (vedi immagine per impostazioni) il pool target Framework 4 come mio progetto web.
Quando si visita il sito, il browser non mostra la pagina e consente invece al browser di scaricare la pagina.
Ho altri progetti in esecuzione su IIS localmente e funzionano senza problemi (ma non usano Entity Framework).
Utilizzando l'Event Logger vedo gli errori come di seguito:
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)
AGGIORNAMENTO: È possibile leggere nelle risorse su questa domanda che le autorizzazioni devono essere concesse manualmente su MS SQL 2008 come spiegato alla deriva nella sua risposta. Utilizzando IIS 7.5 e MS SQL 2008 R2, l'impostazione dell'autorizzazione manuale non dovrebbe essere necessaria.