ServicePartitionClient<TCommunicationClient>.InvokeWithRetryAsync Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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
- 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
- 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. 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
- 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. O resultado da Tarefa é o resultado da função fornecida no argumento .
Exceções
A operação foi cancelada.
Aplica-se a
Azure SDK for .NET