後端 API 針對前端發出的請求若已經跳出網頁時的中斷機制實作方式

[HttpPost("[action]")]
public async Task<IActionResult> 查詢(查詢參數 參數, CancellationToken ct)
{
try
{
ct.ThrowIfCancellationRequested();
var a = await context1.table1.Select(...).ToListAsync(ct);
await Parallel.ForEachAsync(訊息s, new ParallelOptions { MaxDegreeOfParallelism = 8, CancellationToken = ct }, async (x, token) =>
{
token.ThrowIfCancellationRequested();
var a = await context1.table1.Select(...).ToListAsync(token);
});
}
catch (OperationCanceledException)
{
// 用戶端中止,結束不再寫回應
return new EmptyResult();
}

留言

熱門文章