2016-09-07 1 views
0

Ich benutze Entity Framework und Castle Windsor in einem ASP.Net Web API-Projekt.DbContext nicht als PerWebRequest

Alle Dienste (einschließlich der Kontextimplementierung) usw. sind mit einem PerWebRequest-Lebensstil konfiguriert. Ich finde jedoch, dass der Kontext in einigen Fällen wiederverwendet wird. Dies führt zu veralteten Updates, was natürlich nicht akzeptabel ist.

zur Verwirrung hinzuzufügen, dies nur in einer bestimmten Umgebung geschieht - Debugging, lokal ausgeführt etc führt nicht in dieser

nicht frei :(viel Code zu teilen, aber würde es begrüßen, wenn jemand etwas hat Hinweise zu Möglichkeiten in Bezug auf diese ...

Antwort

0

Ich denke, das Problem könnte Ihre Abhängigkeit Injektion Wahl.In der Regel in einer Web-App, möchten Sie Datenbankobjekte einmal pro Anfrage Zyklus Sie möchten vielleicht in Ihrer ConfigureServices-Methode zu suchen , in der Startup-Klasse Ihres Projekts, und verwenden Sie die addScoped-Abhängigkeit Injection, so

services.AddScoped<NameofRepository, INameofinterface>() 

das sollte den Trick tun. Hoffe das funktioniert für dich. Viel Glück

1

Dies war ein Nicht-Problem. Das Framework verwaltet eine Liste von Kontexten, die für den gleichen Thread verwendet werden, die natürlich mit der Castle Windsor-Konfiguration kollidiert (und überschrieben) werden.