最近我开始深入研究存储库模式和 UnitOfWork 的概念,同时探索 EntityFramework。
根据 MVC 示例制作了我自己的实现,他们在其中从 Controller 中处理 UnitOfWork,如下所示:
protected override void Dispose(bool disposing)
{
unitOfWork.Dispose();
base.Dispose(disposing);
}
我根本不喜欢 MVC,而且在 Webforms 中也很新,但我认为它们正在覆盖 Controller 的 dispose 方法,以便将 UnitOfWork 处理为其他“一切”都已处理。
基本上,我想在我的 ASP.NET WebForms 网站中实现相同的概念,并将在页面代码后面使用的 UnitOfWork 与页面本身的处置一起处置。
我考虑在生命周期中将相同的内容添加到Page_Unload事件中,但我不确定这是否是正确的方法,因为我以前没有搞砸过这样的事情。我的想法如下:
protected void Page_Unload(object sender, EventArgs e)
{
unitOfWork.Dispose();
base.Dispose();
}
我怎样才能安全地实现这一目标,我是否走在正确的轨道上?