![]() |
1
7
除非手动创建异步函数,否则无法取消异步请求。考虑到您正在自动生成WCF调用,这将使它更像是一件家务事。即使如此,就像你说的,电话不会取消,它仍会继续运行。如果仍要取消,只需确保客户机/UI忽略调用的结果。 |
![]() |
2
20
|
![]() |
3
4
.Net 4.5版
在CancellationToken还不可用的旧的.Net框架中也可以实现类似的功能。 |
![]() |
4
2
取消一个请求在一般意义上是不实际的,因为你所说的请求是异步的。可以执行特定的解决方法。例如,向您的协议添加一个新的Cancel信号,该信号设置一些共享状态,您的主要、长时间运行的任务会定期检查这些状态,以验证它是否应该继续执行。 无论哪种方式,由于请求的异步性质,我认为客户机仍有责任知道忽略已取消请求的结果。无法保证客户端不会收到来自请求的响应,因为客户端和服务器之间存在竞争,请求被取消。可以添加一个额外的层来监视某个内容是否被取消,并知道如何丢弃请求的响应,但这并不能阻止结果被传输到客户端。 |
![]() |
5
1
下面是一个小测试应用程序,它有一个发送按钮、一个中止按钮和一个文本框,用于显示结果:
|
![]() |
Ehsan Akbar · 当请求被激发时,WCF请求时间会增加 7 年前 |
![]() |
Gans · 具有多操作合约的WCF Rest服务 7 年前 |
![]() |
Moelgaard · NLog中的IIS应用程序名称。配置 7 年前 |
![]() |
Kerwen · WCF服务调用异步函数 7 年前 |