我应该将Enterprise Library Data Block Database对象设为静态吗?

时间:2010-11-04 05:41:08

标签: enterprise-library

任何人都可以澄清Enterprise Library的Database对象是否可以在没有任何线程安全问题的情况下变为静态?

3 个答案:

答案 0 :(得分:4)

是的,Database实例是线程安全的。它只是一个大型工厂吐出像连接这样的新对象。实例本身在创建后不会更改状态。当您查看源代码时,您可以清楚地看到这一点。它产生的对象当然不是线程安全的。

答案 1 :(得分:0)

你可以,但没有重要理由。数据库实例创建起来很便宜,并且不会保持任何状态。

答案 2 :(得分:0)

不,不要这样做。我试过了,很抱歉我做到了。虽然它是线程安全的,但它显着降低了我对Web应用程序的查询请求的速度。我以为自己很聪明地避开元数据的创建,但却把事情搞砸了。现在我为每个请求提供一个全新的实例,它尽可能快乐和快速。