如何处理使用数据库的WCF服务中的并发性

时间:2012-05-31 18:44:19

标签: c# .net database wcf concurrency

你好:)我对WCF很新,这是我第一次处理任何类型的并发,所以请耐心等待。

我想要做的是拥有一个服务实例,它将被多个客户端使用(不超过10或11)。我希望客户端在使用服务操作时互相等待。这样我就应该避免对数据库中的条目进行不正确的更新。操作速度足够快,因此性能不会受到太大影响。现在我不确定,但据我的理解,要实现这一点,我应该使用ConcurrencyMode.Single的单件服务,是吗?任何关于如何实现这一目标的全面阅读都是值得欢迎的。

我也意识到可能有更好,更优雅的方式来处理并发,但我的时间非常短,而且这个方法似乎是最简单和最快的方法,如果我已经正确理解它。

1 个答案:

答案 0 :(得分:3)

你能做的最糟糕的事情就是单身人士服务。

数据库引擎(以及大多数数据库引擎)非常适合并发调用。你想要限制他们的并发功能是什么?

最适合您的方式是每次呼叫,无状态WCF服务 要获得数据一致性,请使用optimistic concurrency。为简化此操作,您可以使用任何ORM,例如Entity Framework