我正在尝试从MVC5控制器异步发送短信。
在控制器中,我调用另一个类中的以下方法。我不需要任何响应,并且不关心它是否失败。
public async void SendSMS(string phoneNumber, string message)
{
await Task.Run(() =>
{
TwilioRestClient twilio = new TwilioRestClient(ACCOUNT_SID, AUTH_TOKEN);
twilio.SendSmsMessage(TWILIO_PHONE_NUMBER, phoneNumber, message);
}
);
}
这对我来说不起作用,因为它似乎是同步运行的。如果您有任何改善代码并使其正常工作的提示,我们将不胜感激。
HostingEnvironment.QueueBackgroundWorkItem
而不是Task.Run
。 在 ASP.NET 上使用Task.Run
是非常危险的;而QueueBackgroundWorkItem
只是有些危险。 - Stephen Cleary