[英]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.