Я создаю приложение winforms, которое должно отправлять электронные письма. Я хочу, чтобы иметь возможность вызвать метод SmtpClient.SendAsync и после этого разрешить пользователю немедленно закрыть приложение (мне не интересно получать результаты отправки в функцию обратного вызова). Если пользователь останавливает приложение, письма не отправляются .... Если приложение остается в рабочем состоянии, письма отправляются как ожидалось ... Любые предложения, как я могу передать все соответствующие данные на сервер smtp и закрыть мое приложение?SmtpClient.SendAsync - остановить приложение после вызова
Благодаря
необходим
Это не так, как это работает, это не так, как это работает ... Асинк не означает, что «Я не заинтересован в результатах» _ и _ «продолжайте делать это, даже если я завершаю свое приложение» _ и отправка электронной почты состоит из разговора с SMTP-сервером и сохранения соединения до тех пор, пока не будет отправлено все сообщение - для каждого сообщения. Это требует времени, и тем более больше сообщений, которые вы хотите отправить. Если вы хотите и можете вставлять сообщения в очередь, вы можете захотеть разгрузить фактическую отправку в службу Windows. – CodeCaster
или (в дополнение к тому, что сказал CodeCaster) запускает выполнение отдельного процесса. –
Я правильно понял, вы предлагаете заменить логику отправки на Службу Windows и вызвать ее из моего winforms-приложения? –