多线程环境中的C#/ SQLServer数据库连接

时间:2015-08-19 08:21:47

标签: c# sql-server multithreading wcf database-connection

我有一个多线程的应用程序。每个线程都负责将数据上传到SQL数据库。我的问题是,执行此操作的正确解决方案是什么?每个线程都应打开自己的新数据库连接,或者使用某些单例模式来创建数据库。或者,如果有任何其他最佳方法,请告诉我。任何代码示例都将受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

您无需打开多个连接即可多次调用WCF服务。您所要做的就是使用异步方式来调用它。 例如,您可以使用Parrallel.ForEach()而不是创建自己的线程。

public void UploadData(List<Data> allDataToUpload)
{
    Parallel.ForEach(allDataToUpload, data =>
    {
        _yourService.Upload(data);
    });
}

另外,如果您对线程不是很熟悉,我建议使用Microsoft提供的所有新工具,因为.net 4.5就像异步,等待和库任务而不是管理自己的线程。