ASP.. NET Web Api SendAsync使服务器等待
本文关键字:服务器 等待 SendAsync Api NET Web ASP | 更新日期: 2023-09-27 18:08:46
我看到过其他非常类似的问题,但我仍然没有找到解决方案,我安装了Postal nuget包来处理电子邮件,并且我有一个异步发送电子邮件的web方法(我想)。基于其他示例,下面是我的代码:
[ActionName("PostEnviarCorreoReserva")]
[HttpPost]
public async Task<IHttpActionResult> PostEnviarCorreoReserva(
[FromBody] ReservaEmail vermodel,
String ver_gkey)
{
var ReservaId = Convert.ToInt32(vermodel.Reserva);
CultureInfo es = new CultureInfo("es-ES");
Thread.CurrentThread.CurrentCulture = es;
DtContex = new DTPPublicDataContext();
var RSPD = DtContex.res_reservas_usuario_det.First(i => i.reserva_gkey == ReservaId);
dynamic emailReserva = new Email(TipoEmail);
emailReserva.To = RSPD.email_reserva;
emailReserva.CodReserva = RSPD.reserva_gkey.ToString();
...
await emailReserva.SendAsync();
return Ok();
}
所以我仍然是一个新手,但我明白,这段代码应该异步执行,所以我可以以后执行其他操作到Web API,但直到它返回Ok响应,Web API正在忙着处理这个威胁,我到底做错了什么?发送电子邮件需要很长时间
如果您不想等待,而sendout将完成,在新线程中执行代码。
new Thread(async () =>
{
await emailReserva.SendAsync();
}).Start();