public void SyncRemote(ServiceNameDiscoveryService.ServiceNameDiscoveryServiceClient serviceClient) { if (_unRegisterOpNames.Count > 0) { var serviceNameCollection = new ServiceNameCollection(); foreach (var opName in _unRegisterOpNames) { var serviceName = new ServiceNameElement(); serviceName.ApplicationId = opName.Key.ApplicationId; serviceName.ServiceName = opName.Key.OperationName; serviceName.SrcSpanType = opName.Key.SpanType; serviceNameCollection.Elements.Add(serviceName); } var mapping = serviceClient.discovery(serviceNameCollection); foreach (var item in mapping.Elements) { var element = item.Element; var key = new OperationNameKey(element.ApplicationId, element.ServiceName, SpanType.Entry == element.SrcSpanType, SpanType.Exit == element.SrcSpanType); _unRegisterOpNames.TryRemove(key, out _); _operationNameDic.TryAdd(key, item.ServiceId); } } }
public static void CopyFrom(ExtendedProtectionPolicyElement source, ExtendedProtectionPolicyElement destination) { destination.PolicyEnforcement = source.PolicyEnforcement; destination.ProtectionScenario = source.ProtectionScenario; destination.CustomServiceNames.Clear(); foreach (ServiceNameElement sourceEntry in source.CustomServiceNames) { ServiceNameElement entry = new ServiceNameElement(); entry.Name = sourceEntry.Name; destination.CustomServiceNames.Add(entry); } }
public static void InitializeFrom(ExtendedProtectionPolicy source, ExtendedProtectionPolicyElement destination) { if (!IsDefaultPolicy(source)) { destination.PolicyEnforcement = source.PolicyEnforcement; destination.ProtectionScenario = source.ProtectionScenario; destination.CustomServiceNames.Clear(); if (source.CustomServiceNames != null) { foreach (string name in source.CustomServiceNames) { ServiceNameElement entry = new ServiceNameElement(); entry.Name = name; destination.CustomServiceNames.Add(entry); } } } }