gpt4 book ai didi

asp.net - EF、UoW 和存储库 - 何时在 WebForms 中处理 UnitOfWork?

转载 作者:行者123 更新时间:2023-12-04 18:47:54 24 4
gpt4 key购买 nike

最近我开始深入研究存储库模式和 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 与页面本身的处置一起处置。

我考虑将其添加到 页面_卸载生命周期中的事件,但我不确定这是否是正确的方法,因为我以前没有搞砸过这样的事情。我的想法如下:
protected void Page_Unload(object sender, EventArgs e)
{
unitOfWork.Dispose();
base.Dispose();
}

我怎样才能安全地实现这一目标,我是否走在正确的轨道上?

最佳答案

首先:不要发明轮子。

使用依赖注入(inject) 框架,如:StructureMap、Ninject、Unity 等......

您的 华盛顿大学 应该以 开头网络请求 处置请求结束 .

换句话说:EF的DataContext应该在请求开始时初始化。然后你可以将它存储在某个地方( session ,...),它可以用于该请求。 每个请求一个 DataContext 实例。

但是如果你尝试自己做,你就错了,使用依赖注入(inject)框架会让它变得如此简单。

框架可以处理 DataContext 的生命周期 (华盛顿大学)。

关于asp.net - EF、UoW 和存储库 - 何时在 WebForms 中处理 UnitOfWork?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11223652/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com