Compartilhar via


ServicePartitionClient<TCommunicationClient>.InvokeWithRetryAsync Método

Definição

Sobrecargas

InvokeWithRetryAsync(Func<TCommunicationClient,Task>, Type[])

Invoca a Função fornecida, repetindo exceções geradas além das exceções em doNotRetryExceptionTypes. Para exceções que não estão em doNotRetryExceptionTypes, o método ReportOperationExceptionAsync() da CommunicationClientFactory controla se a exceção deve ser repetida ou não. Se você estiver invocando esse método no thread de Asp.Net/interface do usuário, estas são recomendações para evitar deadlock: 1 se sua API de chamada for Async , use ConfigureAwait(Boolean) para não retomar no contexto orignal definindo-a como false. 2 Ou Para invocar essa API em um thread de threadpool usando Task.Run.

InvokeWithRetryAsync(Func<TCommunicationClient,Task>, CancellationToken, Type[])

Invoca a Função fornecida, repetindo exceções geradas além das exceções em doNotRetryExceptionTypes. Para exceções que não estão em doNotRetryExceptionTypes, o método ReportOperationExceptionAsync() da CommunicationClientFactory controla se a exceção deve ser repetida ou não. Se você estiver invocando esse método no thread de Asp.Net/interface do usuário, estas são recomendações para evitar deadlock: 1 se sua API de chamada for Async , use ConfigureAwait(Boolean) para não retomar no contexto orignal definindo-a como false. 2 Ou Para invocar essa API em um thread de threadpool usando Task.Run.

InvokeWithRetryAsync<TResult>(Func<TCommunicationClient,Task<TResult>>, Type[])

Invoca a Função fornecida, repetindo exceções geradas além das exceções em doNotRetryExceptionTypes. Para exceções que não estão em doNotRetryExceptionTypes, o método ReportOperationExceptionAsync() da CommunicationClientFactory controla se a exceção deve ser repetida ou não. Se você estiver invocando esse método no thread de Asp.Net/interface do usuário, estas são recomendações para evitar deadlock: 1 se sua API de chamada for Async , use ConfigureAwait(Boolean) para não retomar no contexto orignal definindo-a como false. 2 Ou Para invocar essa API em um thread de threadpool usando Task.Run.

InvokeWithRetryAsync<TResult>(Func<TCommunicationClient,Task<TResult>>, CancellationToken, Type[])

Invoca a Função fornecida, repetindo exceções geradas além das exceções em doNotRetryExceptionTypes. Para exceções que não estão em doNotRetryExceptionTypes, o método ReportOperationExceptionAsync() da CommunicationClientFactory controla se a exceção deve ser repetida ou não. Se você estiver invocando esse método no thread de Asp.Net/interface do usuário, estas são recomendações para evitar deadlock: 1 se sua API de chamada for Async , use ConfigureAwait(Boolean) para não retomar no contexto orignal definindo-a como false. 2 Ou Para invocar essa API em um thread de threadpool usando Task.Run.

InvokeWithRetryAsync(Func<TCommunicationClient,Task>, Type[])

Invoca a Função fornecida, repetindo exceções geradas além das exceções em doNotRetryExceptionTypes. Para exceções que não estão em doNotRetryExceptionTypes, o método ReportOperationExceptionAsync() da CommunicationClientFactory controla se a exceção deve ser repetida ou não. Se você estiver invocando esse método no thread de Asp.Net/interface do usuário, estas são recomendações para evitar deadlock: 1 se sua API de chamada for Async , use ConfigureAwait(Boolean) para não retomar no contexto orignal definindo-a como false. 2 Ou Para invocar essa API em um thread de threadpool usando Task.Run.

public System.Threading.Tasks.Task InvokeWithRetryAsync (Func<TCommunicationClient,System.Threading.Tasks.Task> func, params Type[] doNotRetryExceptionTypes);
member this.InvokeWithRetryAsync : Func<'CommunicationClient, System.Threading.Tasks.Task (requires 'CommunicationClient :> Microsoft.ServiceFabric.Services.Communication.Client.ICommunicationClient)> * Type[] -> System.Threading.Tasks.Task
Public Function InvokeWithRetryAsync (func As Func(Of TCommunicationClient, Task), ParamArray doNotRetryExceptionTypes As Type()) As Task

Parâmetros

func
Func<TCommunicationClient,Task>

Função que está sendo invocada

doNotRetryExceptionTypes
Type[]

Exceções para as quais o cliente de partição de serviço não deve tentar novamente

Retornos

Uma Tarefa que representa a operação pendente.

Aplica-se a

InvokeWithRetryAsync(Func<TCommunicationClient,Task>, CancellationToken, Type[])

Invoca a Função fornecida, repetindo exceções geradas além das exceções em doNotRetryExceptionTypes. Para exceções que não estão em doNotRetryExceptionTypes, o método ReportOperationExceptionAsync() da CommunicationClientFactory controla se a exceção deve ser repetida ou não. Se você estiver invocando esse método no thread de Asp.Net/interface do usuário, estas são recomendações para evitar deadlock: 1 se sua API de chamada for Async , use ConfigureAwait(Boolean) para não retomar no contexto orignal definindo-a como false. 2 Ou Para invocar essa API em um thread de threadpool usando Task.Run.

public System.Threading.Tasks.Task InvokeWithRetryAsync (Func<TCommunicationClient,System.Threading.Tasks.Task> func, System.Threading.CancellationToken cancellationToken, params Type[] doNotRetryExceptionTypes);
member this.InvokeWithRetryAsync : Func<'CommunicationClient, System.Threading.Tasks.Task (requires 'CommunicationClient :> Microsoft.ServiceFabric.Services.Communication.Client.ICommunicationClient)> * System.Threading.CancellationToken * Type[] -> System.Threading.Tasks.Task
Public Function InvokeWithRetryAsync (func As Func(Of TCommunicationClient, Task), cancellationToken As CancellationToken, ParamArray doNotRetryExceptionTypes As Type()) As Task

Parâmetros

func
Func<TCommunicationClient,Task>

Função que está sendo invocada

cancellationToken
CancellationToken

Token de cancelamento

doNotRetryExceptionTypes
Type[]

Exceções para as quais o cliente de partição de serviço não deve tentar novamente

Retornos

Uma Tarefa que representa a operação pendente.

Aplica-se a

InvokeWithRetryAsync<TResult>(Func<TCommunicationClient,Task<TResult>>, Type[])

Invoca a Função fornecida, repetindo exceções geradas além das exceções em doNotRetryExceptionTypes. Para exceções que não estão em doNotRetryExceptionTypes, o método ReportOperationExceptionAsync() da CommunicationClientFactory controla se a exceção deve ser repetida ou não. Se você estiver invocando esse método no thread de Asp.Net/interface do usuário, estas são recomendações para evitar deadlock: 1 se sua API de chamada for Async , use ConfigureAwait(Boolean) para não retomar no contexto orignal definindo-a como false. 2 Ou Para invocar essa API em um thread de threadpool usando Task.Run.

public System.Threading.Tasks.Task<TResult> InvokeWithRetryAsync<TResult> (Func<TCommunicationClient,System.Threading.Tasks.Task<TResult>> func, params Type[] doNotRetryExceptionTypes);
member this.InvokeWithRetryAsync : Func<'CommunicationClient, System.Threading.Tasks.Task<'Result> (requires 'CommunicationClient :> Microsoft.ServiceFabric.Services.Communication.Client.ICommunicationClient)> * Type[] -> System.Threading.Tasks.Task<'Result>
Public Function InvokeWithRetryAsync(Of TResult) (func As Func(Of TCommunicationClient, Task(Of TResult)), ParamArray doNotRetryExceptionTypes As Type()) As Task(Of TResult)

Parâmetros de tipo

TResult

Resultado da função que está sendo invocada

Parâmetros

func
Func<TCommunicationClient,Task<TResult>>

Função que está sendo invocada

doNotRetryExceptionTypes
Type[]

Exceções para as quais o cliente de partição de serviço não deve tentar novamente

Retornos

Task<TResult>

Uma Tarefa que representa a operação pendente. O resultado da Tarefa é o resultado da função fornecida no argumento .

Aplica-se a

InvokeWithRetryAsync<TResult>(Func<TCommunicationClient,Task<TResult>>, CancellationToken, Type[])

Invoca a Função fornecida, repetindo exceções geradas além das exceções em doNotRetryExceptionTypes. Para exceções que não estão em doNotRetryExceptionTypes, o método ReportOperationExceptionAsync() da CommunicationClientFactory controla se a exceção deve ser repetida ou não. Se você estiver invocando esse método no thread de Asp.Net/interface do usuário, estas são recomendações para evitar deadlock: 1 se sua API de chamada for Async , use ConfigureAwait(Boolean) para não retomar no contexto orignal definindo-a como false. 2 Ou Para invocar essa API em um thread de threadpool usando Task.Run.

public System.Threading.Tasks.Task<TResult> InvokeWithRetryAsync<TResult> (Func<TCommunicationClient,System.Threading.Tasks.Task<TResult>> func, System.Threading.CancellationToken cancellationToken, params Type[] doNotRetryExceptionTypes);
member this.InvokeWithRetryAsync : Func<'CommunicationClient, System.Threading.Tasks.Task<'Result> (requires 'CommunicationClient :> Microsoft.ServiceFabric.Services.Communication.Client.ICommunicationClient)> * System.Threading.CancellationToken * Type[] -> System.Threading.Tasks.Task<'Result>
Public Function InvokeWithRetryAsync(Of TResult) (func As Func(Of TCommunicationClient, Task(Of TResult)), cancellationToken As CancellationToken, ParamArray doNotRetryExceptionTypes As Type()) As Task(Of TResult)

Parâmetros de tipo

TResult

Resultado da função que está sendo invocada

Parâmetros

func
Func<TCommunicationClient,Task<TResult>>

Função que está sendo invocada

cancellationToken
CancellationToken

Token de cancelamento

doNotRetryExceptionTypes
Type[]

Exceções para as quais o cliente de partição de serviço não deve tentar novamente

Retornos

Task<TResult>

Uma Tarefa que representa a operação pendente. O resultado da Tarefa é o resultado da função fornecida no argumento .

Exceções

A operação foi cancelada.

Aplica-se a