2008-12-18 86 views
2

我有几个服务类有静态方法,并提供服务,我的程序的其余部分。这些服务大多涉及访问SqlDataContext(linq2sql)的实例。我应该在哪里实例化我的服务类'SqlDatacontext?

首先,我尝试将此连接实例化为每个服务类的静态私有成员。 这有效,但它也会产生一堆锁定,延迟和脏对象问题。

现在我去了一个在方法级别实例化的私有实例。这在锁定和脏物体问题方面效果更好,因为范围更小,更具可预测性,但是这也会在连接握手方面产生一堆开销。

你如何建议采取这个问题?

回答

2

看看this article by Rick Strahl - 他解释了这些选项,并提供了一个良好的工厂实现,以应付创建每个Web上下文/线程一个请求(取决于你在工作

在大多数用于此。在我使用linq-to-sql的地方工作的应用程序,它似乎是正确的方法!

+0

谢谢,将看看:) – 2008-12-18 13:44:53

相关问题