1
7
除非手动创建异步函数,否则无法取消异步请求。考虑到您正在自动生成WCF调用,这将使它更像是一件家务事。即使如此,就像你说的,电话不会取消,它仍会继续运行。如果仍要取消,只需确保客户机/UI忽略调用的结果。 |
2
20
|
3
4
.Net 4.5版
在CancellationToken还不可用的旧的.Net框架中也可以实现类似的功能。 |
4
2
取消一个请求在一般意义上是不实际的,因为你所说的请求是异步的。可以执行特定的解决方法。例如,向您的协议添加一个新的Cancel信号,该信号设置一些共享状态,您的主要、长时间运行的任务会定期检查这些状态,以验证它是否应该继续执行。 无论哪种方式,由于请求的异步性质,我认为客户机仍有责任知道忽略已取消请求的结果。无法保证客户端不会收到来自请求的响应,因为客户端和服务器之间存在竞争,请求被取消。可以添加一个额外的层来监视某个内容是否被取消,并知道如何丢弃请求的响应,但这并不能阻止结果被传输到客户端。 |
5
1
下面是一个小测试应用程序,它有一个发送按钮、一个中止按钮和一个文本框,用于显示结果:
|
Coding Dog · Python异步函数不工作。继续跑 1 年前 |
cyka · 强制JavaScript等待单击(循环) 2 年前 |
CodeMonkey · 无法访问React[重复]中的对象值 2 年前 |
Tim · 为异步方法返回列表的最佳方式是什么? 2 年前 |
dapidmini · 未捕获的承诺嵌套异步函数承诺错误处理 2 年前 |