gpt4 book ai didi

c# - 取消异步调用 (IAsyncResult)

转载 作者:行者123 更新时间:2023-11-30 12:11:01 25 4
gpt4 key购买 nike

我在 .net WPF 中编程。

我有一个(第三方)API,它实现了开始/结束异步调用模式。 BeginWork() 函数返回一个 IAsyncResult。

但是,一旦完成,没有明显的方法可以取消/中止调用。

有没有办法停止这样的工作?如果这需要库作者明确提供取消方法,那么有什么方法可以终止这项工作,即使是不优雅的?我真的需要能够以某种方式阻止它,因为一项工作可能需要几个小时才能完成!

谢谢!

最佳答案

如果实现不包含允许取消的特定代码,那么您很可能无法取消它。并不是所有的事情都可以在逻辑上被干净地取消,尤其是当它涉及外部资源时。但如果根本没有编写取消它的代码。.you could try randomly kill threads, but this will doom your process - 基本上这与决定在中途终止整个进程相同。它会停止工作,但如果它不是事务性的,它可能会使事情变得一团糟。

如果我是你,我会(其中之一):

  • 向第 3 方寻求支持的取消 API
  • 除非你确定,否则不要启动它

关于c# - 取消异步调用 (IAsyncResult),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16495421/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com