我想使用Parallel.ForEach
添加1000多個任務。以下代碼用於發送電子郵件通知。問題是,它只適用於約150〜200通知&我收到電子郵件,但在此之後代碼被凍結&沒有收到電子郵件。Parallel.ForEach在一段時間後會凍結
有人可以請指導我在正確的方向。
var exceptions = new ConcurrentQueue<Exception>();
try
{
List<ParallelWorker_EmailNotification> workers = new List<ParallelWorker_EmailNotification>();
foreach (Email mail in listEmails)
{
workers.Add(new ParallelWorker_EmailNotification(mail));
}
Parallel.ForEach(workers, async worker =>
{
try
{
await worker.SendNotification();
}
catch (Exception ex)
{
exceptions.Enqueue(ex);
}
});
}
catch (Exception ex)
{
exceptions.Enqueue(ex);
}
從ParallelWorker_EmailNotification添加代碼 – Gusman