ASHX似乎不止一次运行



我有一个ashx来做一些同步工作;它通常需要大约8分钟。同步完成后,将向管理员发送一封电子邮件。但当我在浏览器中运行ashx时,它会在完成后永远加载,所以管理员会收到不止一封电子邮件。

有人能告诉我为什么会发生这种事吗?

如果处理程序没有向响应返回数据,则可能浏览器正在尝试再次请求,直到获得成功状态。在这种情况下,您可以尝试响应任何文本以获取成功:

context.Response.StatusCode = 200;
context.Response.ContentType = "text/plain";
context.Response.Write(string.Empty);



但是,如果处理程序正在向响应返回数据,并且响应状态代码成功,则可以尝试在发送电子邮件后立即停止响应:

context.Response.End();
return;


而且,为了进行检查,请验证您是否在一个多次调用邮件发送的循环上进行迭代。

最新更新