“在此上下文中不允许异步操作”

我在调用他自动生成的异步webmethods时会得到以下exception,我在这篇文章中询问过

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

Google搜索结果在页面指令中添加了Async = True ,但是不同的人都注意到这会使页面“阻塞” (这不是真正的异步操作)。 那么我如何在调用webservice方法时实现异步操作。

看看这个答案 。 我不会从那里复制/粘贴答案,但我会将讨论扩展一些。

接受的答案不正确。 由于没有’EndInvoke’,每次调用此方法时都会有资源泄漏。 请参阅此讨论 ,了解为何不合适。

建议的是启动一个守护程序线程或创建从MSMQ读取的整个不同进程并处理那里长时间运行的任务。