你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
ServicePartitionClient<TCommunicationClient>.InvokeWithRetryAsync 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
重载
InvokeWithRetryAsync(Func<TCommunicationClient,Task>, Type[]) |
调用给定的 函数,针对 doNotRetryExceptionTypes 中引发的异常以外的异常重试。 对于 doNotRetryExceptionTypes 中不存在的异常,CommunicationClientFactory 的 ReportOperationExceptionAsync () 方法控制是否应重试异常。 如果在 Asp.Net/UI 线程中调用此方法,则建议以下方法避免死锁:1 如果调用的 Api 是异步的 ,则使用 ConfigureAwait(Boolean) 通过将调用 API 设置为 false 来不恢复不在不对齐上下文中。 2 或使用 Task.Run 在线程池线程中调用此 API。 |
InvokeWithRetryAsync(Func<TCommunicationClient,Task>, CancellationToken, Type[]) |
调用给定的 函数,针对 doNotRetryExceptionTypes 中引发的异常以外的异常重试。 对于 doNotRetryExceptionTypes 中不存在的异常,CommunicationClientFactory 的 ReportOperationExceptionAsync () 方法控制是否应重试异常。 如果在 Asp.Net/UI 线程中调用此方法,则建议以下方法避免死锁:1 如果调用的 Api 是异步的 ,则使用 ConfigureAwait(Boolean) 通过将调用 API 设置为 false 来不恢复不在不对齐上下文中。 2 或使用 Task.Run 在线程池线程中调用此 API。 |
InvokeWithRetryAsync<TResult>(Func<TCommunicationClient,Task<TResult>>, Type[]) |
调用给定的 函数,针对 doNotRetryExceptionTypes 中引发的异常以外的异常重试。 对于 doNotRetryExceptionTypes 中不存在的异常,CommunicationClientFactory 的 ReportOperationExceptionAsync () 方法控制是否应重试异常。 如果在 Asp.Net/UI 线程中调用此方法,则建议以下方法避免死锁:1 如果调用的 Api 是异步的 ,则使用 ConfigureAwait(Boolean) 通过将调用 API 设置为 false 来不恢复不在不对齐上下文中。 2 或使用 Task.Run 在线程池线程中调用此 API。 |
InvokeWithRetryAsync<TResult>(Func<TCommunicationClient,Task<TResult>>, CancellationToken, Type[]) |
调用给定的 函数,针对 doNotRetryExceptionTypes 中引发的异常以外的异常重试。 对于 doNotRetryExceptionTypes 中不存在的异常,CommunicationClientFactory 的 ReportOperationExceptionAsync () 方法控制是否应重试异常。 如果在 Asp.Net/UI 线程中调用此方法,则建议以下方法避免死锁:1 如果调用的 Api 是异步的 ,则使用 ConfigureAwait(Boolean) 通过将调用 API 设置为 false 来不恢复不在不对齐上下文中。 2 或使用 Task.Run 在线程池线程中调用此 API。 |
InvokeWithRetryAsync(Func<TCommunicationClient,Task>, Type[])
调用给定的 函数,针对 doNotRetryExceptionTypes 中引发的异常以外的异常重试。 对于 doNotRetryExceptionTypes 中不存在的异常,CommunicationClientFactory 的 ReportOperationExceptionAsync () 方法控制是否应重试异常。 如果在 Asp.Net/UI 线程中调用此方法,则建议以下方法避免死锁:1 如果调用的 Api 是异步的 ,则使用 ConfigureAwait(Boolean) 通过将调用 API 设置为 false 来不恢复不在不对齐上下文中。 2 或使用 Task.Run 在线程池线程中调用此 API。
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
参数
- doNotRetryExceptionTypes
- Type[]
服务分区客户端不应重试的异常
返回
表示未完成操作的任务。
适用于
InvokeWithRetryAsync(Func<TCommunicationClient,Task>, CancellationToken, Type[])
调用给定的 函数,针对 doNotRetryExceptionTypes 中引发的异常以外的异常重试。 对于 doNotRetryExceptionTypes 中不存在的异常,CommunicationClientFactory 的 ReportOperationExceptionAsync () 方法控制是否应重试异常。 如果在 Asp.Net/UI 线程中调用此方法,则建议以下方法避免死锁:1 如果调用的 Api 是异步的 ,则使用 ConfigureAwait(Boolean) 通过将调用 API 设置为 false 来不恢复不在不对齐上下文中。 2 或使用 Task.Run 在线程池线程中调用此 API。
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
参数
- cancellationToken
- CancellationToken
取消令牌
- doNotRetryExceptionTypes
- Type[]
服务分区客户端不应重试的异常
返回
表示未完成操作的任务。
适用于
InvokeWithRetryAsync<TResult>(Func<TCommunicationClient,Task<TResult>>, Type[])
调用给定的 函数,针对 doNotRetryExceptionTypes 中引发的异常以外的异常重试。 对于 doNotRetryExceptionTypes 中不存在的异常,CommunicationClientFactory 的 ReportOperationExceptionAsync () 方法控制是否应重试异常。 如果在 Asp.Net/UI 线程中调用此方法,则建议以下方法避免死锁:1 如果调用的 Api 是异步的 ,则使用 ConfigureAwait(Boolean) 通过将调用 API 设置为 false 来不恢复不在不对齐上下文中。 2 或使用 Task.Run 在线程池线程中调用此 API。
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)
类型参数
- TResult
调用的函数的结果
参数
- doNotRetryExceptionTypes
- Type[]
服务分区客户端不应重试的异常
返回
表示未完成操作的任务。 Task 的结果是参数中给定的函数的结果。
适用于
InvokeWithRetryAsync<TResult>(Func<TCommunicationClient,Task<TResult>>, CancellationToken, Type[])
调用给定的 函数,针对 doNotRetryExceptionTypes 中引发的异常以外的异常重试。 对于 doNotRetryExceptionTypes 中不存在的异常,CommunicationClientFactory 的 ReportOperationExceptionAsync () 方法控制是否应重试异常。 如果在 Asp.Net/UI 线程中调用此方法,则建议以下方法避免死锁:1 如果调用的 Api 是异步的 ,则使用 ConfigureAwait(Boolean) 通过将调用 API 设置为 false 来不恢复不在不对齐上下文中。 2 或使用 Task.Run 在线程池线程中调用此 API。
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)
类型参数
- TResult
调用的函数的结果
参数
- cancellationToken
- CancellationToken
取消令牌
- doNotRetryExceptionTypes
- Type[]
服务分区客户端不应重试的异常
返回
表示未完成操作的任务。 Task 的结果是参数中给定的函数的结果。
例外
操作已取消。