我有一個動作在我的ASPNET 5(ASPNET核心)的WebAPI控制器,它同時被請求可能需要大量的時間,它會運行到最後,即使用戶已經取消了負載請求處理。 aspnet中的請求或conroller/httpContext中的任何事件是否有任何取消令牌的變體,當用戶已不需要其結果時,它可以幫助我停止操作?取消當用戶停止頁面加載
如果使用的CancellationToken,它永遠不會改變它的狀態:
[HttpGet]
public async Task<string> Get(CancellationToken cancellationToken)
{
await Task.Run(() =>
{
while (!cancellationToken.IsCancellationRequested) ;
return;
});
return "hi";
}
,也回調傳遞給令牌的註冊方法從來沒有所謂了。
看起來不可能從客戶端取消令牌 –
@KhanhTO,我認爲服務器必須在tcp連接中止時更改令牌狀態,當然我不希望客戶端傳遞任何令牌。 – FLCL