Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何检测HttpClient.CancelPendingRequests是否用于取消挂起的请求?_C#_Parallel Processing_Dotnet Httpclient_Cancellation_Request Cancelling - Fatal编程技术网

C# 如何检测HttpClient.CancelPendingRequests是否用于取消挂起的请求?

C# 如何检测HttpClient.CancelPendingRequests是否用于取消挂起的请求?,c#,parallel-processing,dotnet-httpclient,cancellation,request-cancelling,C#,Parallel Processing,Dotnet Httpclient,Cancellation,Request Cancelling,应用程序设置 我使用从Windows窗体应用程序向REST服务发出多个异步POST请求 同时,从REST服务获取响应。应用程序显示一个处理…窗口,其中有一个取消按钮 现在,当用户按下取消按钮时,我正在使用该按钮取消正在进行的请求 在mthod调用中使用抛出 查询 是否有任何方法可以检测到由于调用而不是由于任何其他原因(如超时)引发的 是否有其他方法可以实现类似的取消功能 谢谢 捕获异常并检查TaskCanceledException.CancellationToken.IsCancellat

应用程序设置


  • 我使用从Windows窗体应用程序向REST服务发出多个异步POST请求
  • 同时,从REST服务获取响应。应用程序显示一个处理…窗口,其中有一个取消按钮
  • 现在,当用户按下取消按钮时,我正在使用该按钮取消正在进行的请求
  • 在mthod调用中使用抛出

  • 查询

  • 是否有任何方法可以检测到由于调用而不是由于任何其他原因(如超时)引发的
  • 是否有其他方法可以实现类似的取消功能
  • 谢谢


    捕获异常并检查
    TaskCanceledException.CancellationToken.IsCancellationRequested
    属性。如果为真,您可以相当肯定这是一次明确请求的取消,而不是超时


    话虽如此,但请谨慎使用此解决方案并进行一些测试。正如我不久前所说,在某些情况下,您可能会认为应该设置该位,但事实并非如此。

    我不认为这是正确的。CancellationToken.IsCancellationRequested简单查看CancellationTokenSource.IsCancellationRequisted。