ThreadHelper.InvokeWithRpcAsync(Action, Func<Boolean>, Boolean) 方法

定义

使 RPC 调用调用 Microsoft.VisualStudio.Shell.ThreadHelper.Invoke(System.Action) 方法,但在后台线程中调用。 由于它在后台线程上,因此在提供 RPC 调用之前,它不会被阻止。 如果 RPC 调用失败,则会重试,直到 onRpcCallFailed 返回 true。 此方法也不同于 BeginInvoke(Action) 使用 UI 线程调度程序的,它可能未处于可立即处理请求的状态, (也就是说,它可以位于泵处理等待) 中。

public:
 System::Threading::Tasks::Task ^ InvokeWithRpcAsync(Action ^ executeAction, Func<bool> ^ onRpcCallFailed, bool isTaskSchedulerRequest);
public System.Threading.Tasks.Task InvokeWithRpcAsync (Action executeAction, Func<bool> onRpcCallFailed, bool isTaskSchedulerRequest);
member this.InvokeWithRpcAsync : Action * Func<bool> * bool -> System.Threading.Tasks.Task
Public Function InvokeWithRpcAsync (executeAction As Action, onRpcCallFailed As Func(Of Boolean), isTaskSchedulerRequest As Boolean) As Task

参数

executeAction
Action

要执行的操作。

onRpcCallFailed
Func<Boolean>

RPC 调用失败时要执行的函数。 此函数可以返回 true 以停止 retying。 如果调用程序应继续重试,则可以为 null。

isTaskSchedulerRequest
Boolean

指示此调用是否是由 VS 任务计划程序请求引起的。

返回

Task

适用于