async Task <bool> WatchCallBack(WatchDataItem data) { try { // await 保证如果出现异常能在当前线程拦截 // 避免造成触发队列 Complete switch (data.ActionType) { case WatchActionType.PreCall: await _watcher.PreCall(data.PipeCode, data.PipeType, data.Para).ConfigureAwait(false); break; case WatchActionType.Executed: await _watcher.Executed(data.PipeCode, data.PipeType, data.Para, data.Result) .ConfigureAwait(false); break; case WatchActionType.Blocked: await _watcher.Blocked(data.PipeCode, data.PipeType, data.Para, data.Result) .ConfigureAwait(false); break; } } catch { } return(true); }
public Task Watch(WatchDataItem data) { if (_publisher != null) { return(_publisher.Publish(_dataFlowKey, data)); } _watchDataQueue.Post(data); return(Task.CompletedTask); }