那是我的代码片段:
Parallel.ForEach(companies, company =>
{
using (DatabaseContext dbContextForTask = new DatabaseContextFactory().Create(company.ConnectionString))
{
CopingFilesService serviceCopingFilesService = new CopingFilesService(dbContextForTask);
serviceCopingFilesService.CopyFiles(company.CompanyId);
}
});
每个公司可以位于不同的数据库中。我传递给Parallel.ForEach约有20家公司-为每个公司创建Entity Framework DbContext并复制文件。 一开始,我看到文件是从20家公司复制的,但是大约1小时后,我看到文件是从2家公司复制的。其他公司的任务结束了,但是为什么呢?仍有文件要复制。