1

我有一个长时间运行的查询,当我尝试用CancellationToken中止查询什么都没有发生。我如何取消ExecuteReaderAsync与CancellationToken

using (var cmd = connection.CreateCommand()) 
{ 
    cmd.CommandText = contrat.StoredProcedureName; 
    cmd.CommandType = CommandType.StoredProcedure; 
    cmd.CommandTimeout = 2000; 
    AddParameters(cmd, contrat.ParametresCommand); 

    using (var reader = await cmd.ExecuteReaderAsync(Token)) 
    { 
     return contrat.ConvertAsync(reader); 
    }  
}      

回答

1

您需要在令牌上设置超时值,或手动取消令牌。

+0

我已经取消了我的令牌,它在客户端的canceld,但它不是在服务器端cancled –