나는 MSDN 문서, 에서 이것을 읽었는데, 아래에 붙여 넣은 코드에서 SendAsync 메서드를 호출 한 후에도 기다릴 필요가 있음을 암시하는 것처럼 보입니다. 이게 옳은 거니? 그렇다면 SendAsync보다는 Send라는 동기 메서드를 사용하는 것이 좋습니다. 내 목표는 루프에서 다음 전자 메일 메시지로 이동하여 이전 메서드가 전송 될 때까지 기다리지 않고 보내고 Send 메서드를 사용하는 것보다 emailMessages 컬렉션을 더 빨리 처리 할 수있게하는 것이 었습니다. 그러나 그것은 사실처럼 보이지 않습니다.SendEmailAsync benefits doubtful
SendAsync를 호출 한 후에 보내기 또는 SendAsync를 사용하여 다른 전자 메일 메시지를 보내기 전에 전자 메일 전송이 완료 될 때까지 기다려야합니다.
저는 C# 및 .Net 프레임 워크 4.5를 사용하고 있습니다. 내 코드에서는 SendAsync 메서드를 사용하여 아래 코드에서와 같이 루프 내에서 여러 개의 전자 메일을 보내려고합니다.
List<EmailMessage> emailMessages = DAL.GetEmailsToBeSent();
SmtpClient client = new SmtpClient();
foreach(EmailMessage emailMessage in emailMessages)
{
//create a message object from emailMessage object and then send it asynchronously
client.SendAsync(message);
//client.Send(message);
}
UI 기반 응용 프로그램 또는 서비스/비 UI 유형 응용 프로그램에서 호출 하시겠습니까? 그것이 의심 스럽다면 사용 된 상황에 달려있다. 당신은 정교 할 수 있습니까? – rene
기본 폼이 숨겨진 Winforms 앱에서이 코드를 호출합니다. 그래서 내 Winforms 앱은 일처럼 행동합니다. – Sunil
내 Winforms 응용 프로그램에서 유일한 양식을 숨기고 있기 때문에 UI가 없습니다. – Sunil