无法异步发送邮件

时间:2009-11-25 08:33:19

标签: asp.net

我正在使用一个单独的类和唯一的方法来发送邮件。我的所有网页都会调用该方法来发送邮件。但是,我正在使用Client.SendAsync()发送邮件。异步发送邮件时发生以下错误。

“在此上下文中不允许异步操作。启动异步操作的页面必须将Async属性设置为true,并且只能在PreRenderComplete事件之前的页面上启动异步操作”

我在 @page指令中设置Async=true,但是,因为我使用的是单独的类,所以不使用它。还有其他方法可以解决这个问题吗?

3 个答案:

答案 0 :(得分:1)

似乎你只需要在 PreRenderComplete事件之前启动异步任务;你介意发布一些相关的ASP.NET代码吗?

另外,请阅读:Running an asynchronous operation triggered by an ASP.NET web page request

答案 1 :(得分:0)

如果声明,实例化并在页面请求的上下文中分隔类,则将Async设置为true即可。

但是,您可能需要处理SendCompleted事件。

请参阅此MSDN Reference中的示例代码。

答案 2 :(得分:0)

这篇文章对您有所帮助:

Fire and Forget Email, Webservices and More in ASP.NET