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);
                }
            }
        }
Ejemplo n.º 2
0
 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);
                    }
                }
            }
        }