在ASP.NET页面中调用SendAysnc
本文关键字:调用 SendAysnc ASP NET | 更新日期: 2023-09-27 18:00:50
我想发送一些邮件作为对页面点击的响应。我希望页面不要等待邮件发送,因此使用SendAsync。在测试中,结果是"<%@Page Async="true"…%>",例如
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CallbackHandler.aspx.cs" Inherits="MyWebRole.CallbackHandler" Async="true" %>
需要。然而,即使调用了SendAsync并发送了电子邮件,我仍然会收到一个500的错误。这是我使用的。在此期间,我已恢复到"发送"(使用Async="true"(
sc.SendCompleted += ((sender, e) =>
{
if (e.Error == null)
{
newPayment.transmitted = db.GetSQLDate();
db.SubmitChanges();
}
else
{
newPayment.exceptions = e.Error.Message + Environment.NewLine + e.Error.StackTrace;
db.SubmitChanges();
}
});
sc.SendAsync(mm, null);
上演这出戏的正确方式是什么?
我建议将其发布到某种队列中,并在另一个服务的单独线程中处理该队列。