我如何使用 CancellationToken 取消 ExecuteReaderAsync

How i can cancel a ExecuteReaderAsync with CancellationToken

我有一个很长的 运行 查询,当我尝试使用 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);
    }    
}                    

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