J'ai un projet web (C # Asp.Net, EF 4, MS SQL 2008 et IIS 7) et je dois le migrer localement vers IIS 7 (pour le moment ça marche bien avec CASSINI).
Localement dans IIS, je l'ai Default Web Site
avec mon déploiement. Mon déploiement et mon Default Web Site
pool ASP.NET v4.0 (regardez l'image pour les paramètres) le pool cible Framework 4 comme mon projet Web.
Lors de la visite du site, le navigateur n'affiche pas la page et autorise le navigateur à télécharger la page à la place.
J'ai d'autres projets en cours d'exécution sur IIS localement et ils fonctionnent sans problème (mais ils n'utilisent pas Entity Framework).
En utilisant le journal des événements, je vois des erreurs comme ci-dessous:
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)
MISE À JOUR: Vous pouvez lire dans les ressources sur cette question que les autorisations doivent être accordées sur MS SQL 2008 manuellement comme l'expliquent arift dans sa réponse. À l'aide d'IIS 7.5 et de MS SQL 2008 R2, la définition d'une autorisation manuelle ne devrait pas être nécessaire.