簡體   English   中英

如何從另一個方法調用正在運行的方法的取消。 時間:2019-05-09 標簽:c#.core 2.2

[英]How can I call the cancellation of a running method from another method. c# .core 2.2

[HttpPost("WorkHard ")]
public ActionResult WorkHard ()
{
   ///
}

[HttpGet("CancelWorkHard ")]
public void CancelWorkHard ()
{

}

即使我不建議這樣做,這里的代碼可能會給你一個想法:

    private static CancellationTokenSource TokenSource { get; set; }
    private static Int32 Counter { get; set; }

    [HttpPost("WorkHard")]
    public IActionResult WorkHard()
    {
        TokenSource = new CancellationTokenSource();

        _ = Task.Run(async () =>
          {
              while (true)
              {
                  TokenSource.Token.ThrowIfCancellationRequested();
                  await Task.Delay(500);
                  Counter++;
              }
          }, TokenSource.Token);

        return Ok();
    }

    [HttpPost("CancelWorkHard")]
    public IActionResult CancelWorkHard()
    {
        TokenSource.Cancel();
        return Ok(Counter);
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM