public async Task Invoke(IDictionary <string, object> parameters, string serviceId, string serviceKey) { var command = _serviceCommandProvider.GetCommand(serviceId); var result = await _serviceCommandProvider.Run(command.Injection, command.InjectionNamespaces); if (result is Boolean) { if ((bool)result) { var entries = _serviceEntryManager.GetEntries().ToList(); var entry = entries.Where(p => p.Descriptor.Id == serviceId).FirstOrDefault(); await entry.Func(serviceKey, parameters); } } }
/// <summary> /// 调用. /// </summary> /// <param name="parameters">The parameters.</param> /// <param name="serviceId">The service identifier.</param> /// <param name="serviceKey">The service key.</param> /// <param name="decodeJOject">if set to <c>true</c> [decode j oject].</param> /// <returns>Task.</returns> public async Task Invoke(IDictionary <string, object> parameters, string serviceId, string serviceKey, bool decodeJOject) { var vt = _serviceCommandProvider.GetCommand(serviceId); var command = vt.IsCompletedSuccessfully ? vt.Result : await vt; var result = await _serviceCommandProvider.Run(command.Injection, command.InjectionNamespaces); if (result is bool) { if ((bool)result) { var entries = _serviceEntryManager.GetEntries().ToList(); var entry = entries.Where(p => p.Descriptor.Id == serviceId).FirstOrDefault(); await entry.Func(serviceKey, parameters); } } }