c# - ASP.NET 中的 SendAsync(异步电子邮件)和事件处理程序/生命周期?

标签 c# asp.net vb.net

我不明白从 ASP.NET 页面发送异步电子邮件的一件事是,当我们调用 SendAsync 时,它应该在单独的线程上执行,这样我们的页面就可以继续其执行流程并完成其响应,无论发送多长时间将采取。

  1. 那么我们如何使用 SendCompletedEventHandler 在同一页面上调用方法?到那时页面对象可能不存在,在这个论坛中有人们这样做的例子。

  2. 我的期望是我可以有单独的类,它可能有我将在 SendCompletedEventHandler 上执行的静态方法,这样我们就可以报告可能的错误。 但是,当我在那里提出异常时,异常作为页面响应的一部分出现。所以对我来说,看起来 SendAsync 在同一个线程上工作,页面等待它执行并返回有关它引发的任何错误的信息。

这是应该的吗?那么 Async 的含义是什么?

完全困惑...有人可以帮忙吗?

更新: 找到了一个对我帮助很大的帖子 HERE IS THE LINK

最佳答案

因为处理程序是静态的,所以它不需要页面对象仍然存在,因为它不使用或依赖于对象状态。当需要调用callbackhandler时,调用该方法即可,不用担心原始对象不存在。

关于c# - ASP.NET 中的 SendAsync(异步电子邮件)和事件处理程序/生命周期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9756936/

相关文章:

c# - 使用 C# 为表格单元格添加颜色

c# - 为什么 Visual Studio 有时不转到我的断点?

javascript - 从后面的代码触发JavaScript的Confirm()

c# - 如何在 webbrowser 控件中显示特定的 web 元素

c# - 原始 UTC 值的 Postgres 时间戳和时区

c# - 正则表达式和冒号 ( :)

c# - 如果我从字段中删除值并重新提交表单,则删除 session 值

asp.net - 如何更改ASP.NET图表控件的背景颜色?

jquery - 仅当 '/' 是自动完成的最后一个字符时,如何调用 Web 方法?

vb.net - 不返回结构体的值不会生成警告