グローバルな例外ハンドラで未処理の例外を処理しています。要求の処理中に未処理の例外が発生した場合、コントローラのdisposeメソッドが呼び出されますか? (MVCとWeb APIの両方で)コントローラとDbcontext Dispose
たとえば、リクエスト全体で同じEF dbcontextを使用しようとしています。
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);
}
}
複雑なライフサイクルがあり、 'DbContext'をスレッド化する必要がある場合は、非常に強力で軽量ですが複雑なため、ユースケースが必要なのでhttps://github.com/mehdime/DbContextScopeをチェックしてください。つまり、libの開発につながるバックグラウンドを読むだけで、このトピックを啓発しています。 –