无法异步发送邮件

问题描述:

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

“异步操作都不会在这方面允许的。页开始的异步操作必须具有异步属性设置为true,并且异步操作只能在页面上PreRenderComplete事件之前启动”

我设置Async=true in @page directive,但是,因为我使用单独的类,所以没有使用它。有没有其他方法可以解决这个问题?

这篇文章可能是对你有所帮助:

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

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

而且,这样说的:Running an asynchronous operation triggered by an ASP.NET web page request

设置Asynctrue是确定的,如果是分隔的类被声明,实例化和页面请求的范围内。

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

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

+0

我已经使用SendCompleted事件。但是,它也显示了这种错误。 – Nila 2009-11-25 10:29:46