我有一个程序运行一个方法抛出多个这样的任务
private static readonly Task[] Tasks = new Task[Properties.Settings.Default.NumberOfTasksToConsume];
public static void StartService()
{
for (var i = 0; i < Tasks.Length; i++)
{
Tasks[i] = new Task(() => ProcessAbonents(Properties.Settings.Default.NumberOfRecordsToRetrive));
Tasks[i].Start();
}
Task.WaitAll(Tasks);
Task.Run(() => DeleteAbonents((int)EnumCategories.Social));
if (BadPhoneNumbers.Count > 0)
Task.Run(() => SaveBadNumbers((int)EnumCategories.Social));
if (Errors.Count > 0)
Task.Run(() => SendEmail());
}
它工作并进入&#34; ProcessAbone [&#34;当程序构建处于调试模式但构建处于释放模式时,for循环工作正常,但它不会输入此方法。
答案 0 :(得分:0)
问题解决了。有Oracle.DataAccess.dll x64和我的项目在任何CPU,在调试它工作正常,但在发布可能它是在x86上。当我将项目改为x64 build时,它也适用于Release。