为多个用户开发WCF管理数据库的最佳实践

时间:2017-03-16 13:02:20

标签: c# sql-server entity-framework wcf database-deadlocks

我正在使用SQL Server数据库和大约50个与数据库通信的客户端处理系统。

在数据库中,有两个表,第一个(orders)有~1,300万行,第二个(products)有大约300万行。表由外键连接(一对多关系)。

有超过50个客户端连接到数据库,这些客户端在不相互了解的情况下进行选择和更新。另外,我有一个客户端通过TCP接收新数据(订单和产品)并将其添加到数据库中(删除旧的,插入新的)。这个TCP客户端每分钟增加大约50个新订单。

每个客户端都有自己的数据库连接。为每个操作建立连接:

  1. 打开
  2. 操作(插入,更新,选择,删除,交易)
  3. 关闭
  4. 一开始,这些与数据库的多连接没有问题,但现在,由于有很多客户端,有时会出现死锁。

    要解决此问题,我计划使用Entity Framework编写一个WCF服务,该服务将能够连接到数据库。所有客户端都将通过WCF服务执行数据库操作。

    在Web服务中处理多数据库连接的最佳做法是什么?我应该如何防止发生死锁?

0 个答案:

没有答案