我不明白从 ASP.NET 页面发送异步电子邮件的一件事是,当我们调用 SendAsync 时,它应该在单独的线程上执行,这样我们的页面就可以继续其执行流程并完成其响应,无论发送多长时间将采取。
那么我们如何使用
SendCompletedEventHandler
在同一页面上调用方法?到那时页面对象可能不存在,在这个论坛中有人们这样做的例子。我的期望是我可以有单独的类,它可能有我将在
SendCompletedEventHandler
上执行的静态方法,这样我们就可以报告可能的错误。 但是,当我在那里提出异常时,异常作为页面响应的一部分出现。所以对我来说,看起来 SendAsync 在同一个线程上工作,页面等待它执行并返回有关它引发的任何错误的信息。
这是应该的吗?那么 Async 的含义是什么?
完全困惑...有人可以帮忙吗?
更新: 找到了一个对我帮助很大的帖子 HERE IS THE LINK
最佳答案
因为处理程序是静态的,所以它不需要页面对象仍然存在,因为它不使用或依赖于对象状态。当需要调用callbackhandler时,调用该方法即可,不用担心原始对象不存在。
关于c# - ASP.NET 中的 SendAsync(异步电子邮件)和事件处理程序/生命周期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9756936/