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

3
当我调用自动生成的异步Web方法时,会出现以下异常,这些方法是我在这篇文章中提到的:

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

谷歌搜索结果显示在页面指令中添加Async = True,但有人指出这会使页面“阻塞”(这并不是真正的异步操作)。那么,在调用Web服务方法时如何实现异步操作呢?
1个回答

2

请查看此答案。我不会复制粘贴那里的答案,但我会扩展讨论。

被接受的答案并不正确。由于没有'EndInvoke',每次调用该方法都会有资源泄漏。请参见这个讨论,了解为什么这样做不好。

建议的替代方案是启动一个守护进程线程或创建完全不同的进程来从MSMQ中读取并处理长时间运行的任务。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接