Поделиться через


DbExecutionStrategy.ExecuteAsync<TResult> - метод (Func<Task<TResult>>, CancellationToken)

[Эта страница относится к документации к Entity Framework 6. Последняя версия доступна в составе пакета Entity Framework NuGet. Дополнительные сведения об Entity Framework см. в разделе msdn.com/data/ef.]

Повторно выполняет указанную асинхронную операцию до тех пор, пока она удовлетворяет текущей политике повторений.

Пространство имен:  System.Data.Entity.Infrastructure
Сборка:  EntityFramework (в EntityFramework.dll)

Синтаксис

'Декларация
<SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")> _
Public Function ExecuteAsync(Of TResult) ( _
    operation As Func(Of Task(Of TResult)), _
    cancellationToken As CancellationToken _
) As Task(Of TResult)
'Применение
Dim instance As DbExecutionStrategy 
Dim operation As Func(Of Task(Of TResult))
Dim cancellationToken As CancellationToken 
Dim returnValue As Task(Of TResult)

returnValue = instance.ExecuteAsync(operation, _
    cancellationToken)
[SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
public Task<TResult> ExecuteAsync<TResult>(
    Func<Task<TResult>> operation,
    CancellationToken cancellationToken
)
[SuppressMessageAttribute(L"Microsoft.Design", L"CA1006:DoNotNestGenericTypesInMemberSignatures")]
public:
generic<typename TResult>
virtual Task<TResult>^ ExecuteAsync(
    Func<Task<TResult>^>^ operation, 
    CancellationToken cancellationToken
) sealed
[<SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")>]
abstract ExecuteAsync : 
        operation:Func<Task<'TResult>> * 
        cancellationToken:CancellationToken -> Task<'TResult> 
[<SuppressMessageAttribute("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")>]
override ExecuteAsync : 
        operation:Func<Task<'TResult>> * 
        cancellationToken:CancellationToken -> Task<'TResult> 
JScript does not support generic types and methods.

Параметры типа

  • TResult
    Тип результата Task<TResult>, возвращенный operation.

Параметры

  • operation
    Тип: System.Func<Task<TResult>>
    Функция, которая возвращает начатую задачу типа TResult.
  • cancellationToken
    Тип: System.Threading.CancellationToken
    Токен отмены используется для отмены операций повторения, но не выполняемых или успешно завершенных операций.

Возвращаемое значение

Тип: System.Threading.Tasks.Task<TResult>
Задача, выполняемая до завершения, если исходная задача завершается успешно (либо в первый раз, либо после повторных попыток из-за временных отказов).Если задача завершается неудачей с постоянной ошибкой или достигнут предел повторения попыток, то возвращенная задача рассматривается как породившая отказ, и должно наблюдаться исключение.

Implements

IDbExecutionStrategy.ExecuteAsync<TResult>(Func<Task<TResult>>, CancellationToken)

Исключения

Исключение Условие
RetryLimitExceededException

Если стратегия задержки определяет, что повтор действия больше не должен осуществляться.

InvalidOperationException

Если обнаружена существующая транзакция и стратегия выполнения ее не поддерживает.

InvalidOperationException

Если этот экземпляр уже использовался для выполнения операции.

См. также

Справочник

DbExecutionStrategy Класс

ExecuteAsync - перегрузка

System.Data.Entity.Infrastructure - пространство имен