-1
如果我做一個CancellationTokenSource並把它傳遞到一個地方,我進行這樣的查詢:這是否會取消ExecuteReaderAsync
await command.Connection.OpenAsync();
dataReader = await command.ExecuteReaderAsync(_cancellationToken);
如果立即低於這個我添加以下內容:
_cancellationToken.ThrowIfCancellationRequested();
resultTable.Load(dataReader);
如果在不同的線程上調用_cancellationTokenSource.Cancel(),查詢是否會被正確取消?
你爲什麼不檢查自己?不知道我明白這個問題的重點。 – 3615
我試過了,它不會取消,直到數據表加載完成。另一個過程是輪詢取消請求,最終目標是嘗試並取消可能長時間運行的查詢。 – endyourif
啊,所以真正的問題是:爲什麼ThrowIfCancellationRequested不會中斷當前的方法執行? – 3615