我使用一个单独的类和唯一的方法发送mail.All我的网页,将调用该方法发送邮件。但是,我正在使用Client.SendAsync()发送邮件。异步发送邮件时发生以下错误。
“在此上下文中不允许异步操作。启动异步操作的页必须将异步属性设置为true,异步操作只能在PreRenderComplete事件之前在页上启动”
我在@page指令中设置了Async=true,但是,由于我使用的是单独的类,所以不使用它。还有其他方法来解决这个问题吗?
发布于 2009-11-25 09:17:57
这篇文章可能会对你有所帮助:
在ASP.NET中启动并忘记电子邮件、网络服务等
发布于 2009-11-25 08:49:39
似乎您只需要在PreRenderComplete事件之前启动异步任务;您介意发布一些相关的ASP.NET代码吗?
另外,请阅读以下内容:运行由ASP.NET网页请求触发的异步操作。
发布于 2009-11-25 09:10:12
如果声明、实例化并在页面请求的上下文中声明、实例化了分隔的类,则将Async设置为true是可以的。
但是,您可能需要处理SendCompleted事件。
请参阅此MSDN参考中的示例代码。
https://stackoverflow.com/questions/1795462
复制相似问题