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

时间:2012-02-07 11:21:38

标签: c# exception asynchronous asmx

我在this post

中调用自动生成的async webmethods时,我得到了以下异常
  

在此上下文中不允许异步操作。页面开始   异步操作必须将Async属性设置为true   并且只能在

之前的页面上启动异步操作

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

1 个答案:

答案 0 :(得分:2)

结帐this answer。我不会从那里复制/粘贴答案,但我会将讨论扩展一些。

接受的答案不正确。由于没有'EndInvoke',每次调用此方法时都会发生资源泄漏。 See this discussion为什么那不好。

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