Ich habe eine ASP.Net Core-Anwendung, die EF Core verwendet.Intermittierender Fehler mit EF Core: Die Verbindung unterstützt MultipleActiveResultSets nicht
Ich benutze ASP.Net Identität und teile den gleichen DBContext für die Entitäten meiner App.
Ich habe meine Verbindungszeichenfolge zu einer Azure SQL-Datenbank festgelegt, um MultipleActiveResultSet = True zu haben.
Es funktioniert für einen Tag oder zwei, aber schließlich scheitert es mit dem Fehler:
The connection does not support MultipleActiveResultSets.
Ich glaube nicht, MARS das eigentliche Problem ist, da es für die ersten zwei Tage arbeitete er bis war.
Ich verwende ASP.Net Core integrierte DI, um meinen DbContext zu setzen.
Mein Verständnis ist, dass die Standardlebensdauer für den obigen DbContext Transient (pro Webanforderung) ist.
Ist es in Ordnung, denselben DBContext mit ASP.Net Identity zu teilen, oder sollte ich einen separaten für die Entitäten meiner App haben, der auf die gleiche DB verweist?
Ich weiß nicht, ob dies ein Problem mit EF Core, ASP.Net Core oder mit SQL Azure-Konfiguration ist.
https://github.com/aspnet/EntityFrameworkCore/issues/6491 Was meint er mit "Hat die Middleware einen Umfang pro Anfrage?" –
können Sie den Code teilen, in dem Sie Ihren db-Kontext injizieren oder erstellen? – hugoterelle
Sie können überprüfen, ob Ihre Verbindungszeichenfolge mit "MultipleActiveResultSet = True" tatsächlich zur Laufzeit verwendet wird. Nur eine Vermutung. https://stackoverflow.com/questions/12690453/sql-azure-getting-an-error-there-ist-ready-an-open-datareader-associated-wit –