Ich habe ein Web-Projekt (C# Asp.Net, EF 4, MS SQL 2008 und IIS 7) und ich muss es auf IIS 7 lokal migrieren (im Moment funktioniert gut mit CASSINI).
Lokal im IIS habe ich meine Default Web Site
mit meinem Einsatz. Sowohl mein Einsatz als auch Default Web Site
sind auf Pool ASP.NET v4.0 (siehe Bild für Einstellungen) der Pool Ziel Framework 4 als mein Web-Projekt. Beim Besuch der Website zeigt der Browser die Seite nicht an und erlaubt dem Browser stattdessen, die Seite herunterzuladen.
Ich habe andere Projekte, die lokal auf IIS laufen, und sie funktionieren ohne Probleme (aber sie verwenden kein Entity Framework).
In der Ereignisprotokollierung werden folgende Fehler angezeigt:
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)
UPDATE: In den Ressourcen zu dieser Frage können Sie lesen, dass die Berechtigungen für MS SQL 2008 manuell vergeben werden müssen, wie arift in seiner Antwort erklärt. Bei der Verwendung von IIS 7.5 und MS SQL 2008 R2 sollte die manuelle Vergabe von Berechtigungen nicht notwendig sein.