![](/img/trans.png)
[英]In the context of ASP.NET, why doesn't Task.Run(…).Result deadlock when calling an async method?
[英]What if I don't wait for an async method when calling it for a synchronous method in asp.net?
我有两种通过电子邮件和短信异步发送otp的方法。
现在,我从同步事件处理程序方法中调用它们。
这很好。 我同时通过短信和电子邮件收到OTP。 但是我想知道这是正确的还是应该使我的事件异步并等待这两种方法发送otp。
请注意,我不需要异步方法的任何结果/返回值。 我只需要他们尽自己的一份力量。
我已经在网上搜索了答案,但是没有人能消除我的疑问。 请帮助。 我是异步/等待新手。
public async Task SendEmail(int otp) {}
public async Task SendSMS(int otp) {}
protected void SendOTP_OnClick(object sender, EventArgs e){
// Do Something with database...
int otp=1234;
SendEmail(otp);
SendSMS(otp);
}
请注意,我不需要异步方法的任何结果/返回值。 我只需要他们尽自己的一份力量。
您是否需要知道他们是否发挥了作用? 方法的结果不仅包括返回值,而且还指示该方法是成功(成功返回)还是失败(引发异常)。 如果您需要知道这些方法是否失败,那么就不能使用“一劳永逸”的方法。
我想知道这是正确的还是我应该使我的事件异步并等待这两种方法发送otp。
绝大多数时候,开发人员确实想知道他们的方法是否失败,因此最好await
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.