我有一个多线程的应用程序。每个线程都负责将数据上传到SQL数据库。我的问题是,执行此操作的正确解决方案是什么?每个线程都应打开自己的新数据库连接,或者使用某些单例模式来创建数据库。或者,如果有任何其他最佳方法,请告诉我。任何代码示例都将受到高度赞赏。
答案 0 :(得分:0)
您无需打开多个连接即可多次调用WCF服务。您所要做的就是使用异步方式来调用它。 例如,您可以使用Parrallel.ForEach()而不是创建自己的线程。
public void UploadData(List<Data> allDataToUpload)
{
Parallel.ForEach(allDataToUpload, data =>
{
_yourService.Upload(data);
});
}
另外,如果您对线程不是很熟悉,我建议使用Microsoft提供的所有新工具,因为.net 4.5就像异步,等待和库任务而不是管理自己的线程。