.NET UnitOfWork 作为一个静态类 - 这是个好主意吗?

本文关键字:好主意 静态类 UnitOfWork NET 一个 | 更新日期: 2023-09-27 18:35:02

我 http://www.primaryobjects.com/CMS/Article122 阅读了那篇文章,因为我想找到一个答案,如何在我们不再需要连接的Repository pattern关闭/处置数据库上下文。

我看到UnitOfWork是一个static类,上下文是在Application_Start中创建并在Application_EndRequest中处置的。整个概念看起来不错,我可以管理整个应用程序的连接。

但是,将UnitOfWork类标记为static是一个好主意吗?我想知道,因为通过这种方式,UnitOfWork类将在所有传入的请求上共享。如果UnitOfWork类不会被static并且可以在Global.asax中动态创建/处置,那不是更好吗?

.NET UnitOfWork 作为一个静态类 - 这是个好主意吗?

是的,示例中的UnitOfWork类确实是静态的,但是如果您深入阅读代码,您会发现UnitOfWork.Current正在创建或查找存储在HttpContext.Current中的实例。因此,不,您将使用的实例是按请求进行的,而不是全局共享的。