Ich behandle unbehandelte Ausnahmen mit einem globalen Ausnahmebehandler. Wenn während der Verarbeitung der Anforderung eine nicht behandelte Ausnahme auftritt, wird die Dispose-Methode des Controllers aufgerufen? (Sowohl in MVC und Web-API?)Controller und Dbcontext Dispose
Zum Beispiel, Ich versuche, das gleiche EF DbContext im gesamten Anfrage zu verwenden. Ist es sicher, diese Basisklasse zu verwenden:
public abstract class BaseController : Controller
{
public BaseController()
{
Database = new DatabaseContext();
}
protected DatabaseContext Database { get; set; }
protected override void Dispose(bool disposing)
{
Database.Dispose();
base.Dispose(disposing);
}
}
Wenn Sie komplexe Lebenszyklen haben und einfädeln müssen eine 'DbContext' sollten Sie überprüfen https://github.com/mehdime/DbContextScope seine extrem leistungsfähig und ziemlich leicht, aber komplex, so dass Sie einen Anwendungsfall benötigen. Das heißt, nur den Hintergrund zu lesen, der zur Entwicklung der lib führte, ist aufschlussreich zu diesem Thema. –