В конце одного из моих методов контроллера мне нужно перебрать коллекцию и запустить электронные письма, основанные на бизнес-правилах.
Я не хочу, чтобы этот процесс блокировал возврат из контроллера, так какэто операция типа «запусти и забудь», и мне нужно, чтобы клиент был отзывчивым.
Код, который я в настоящее время занимаюсь рефакторингом, использует SmtpClient.Send()
внутри блока using ()
, потому что SmtpClient
реализует IDisposable
.
Как это обрабатывается с SendAsync
в MVC?Я обеспокоен тем, что SynchronizationContext и, возможно, не вызывает здесь Dispose()
.
Код, предшествующий завершению метода контроллера, просто:
client.SendAsync(message, userToken: null);