Async / Warten auf Entity Framework 6.1.1 und Identitätswechsel

8

Ich habe einen WCF-Dienst in IIS gehostet, der Daten aus mehreren Quellen (alle SQL Server) abruft. Mit jeder Datenquelle muss ich einen anderen Active Directory-Benutzer annehmen, um eine Verbindung mit der Datenbank herzustellen. Ich verwende Entity Framework v6.1.1 für zwei der Datenquellen. Integrierte Sicherheit wird auch in den Verbindungszeichenfolgen auf True gesetzt.

Ich verwende das Beispiel unten, um den imitierten Benutzer festzulegen, wobei der imitierte Benutzer ein System.Security.Principal.WindowsImpersonationContext ist, das ich in der Konfiguration festgelegt habe:

%Vor%

Das Problem ist, dass der vorherige Code eine SqlException ausgibt, die besagt, dass das Konto, das den Web-Service ausführt, sich nicht bei der Datenbank anmelden kann. Es scheint, dass ich den Identitätswechselkontext verliere, wenn ich await drücke.

Was sind einige Vorschläge, um dieses Problem zu lösen?

    
Alan P 13.08.2014, 19:38
quelle

1 Antwort

7

Legen Sie legacyImpersonationPolicy auf false und fest alwaysFlowImpersonationPolicy bis true in web.config und IIS neu starten

%Vor%     
Yuval Itzchakov 13.08.2014, 20:40
quelle