Example #1
0
 public void MetadataUpdate(DiscoveryMetadata metadata)
 {
     if (!String.IsNullOrWhiteSpace(metadata.Value))
     {
         if (HostMetadata != null)
         {
             if (HostMetadata.Contains(metadata))
             {
                 try
                 {
                     Predicate <DiscoveryMetadata> finder = (DiscoveryMetadata m) => { return(m.Name == metadata.Name); };
                     DiscoveryMetadata             data   = HostMetadata.Find(finder);
                     data.Value = metadata.Value;
                     EndpointDiscoveryBehavior behavior = HostEndpoint.Behaviors.Find <EndpointDiscoveryBehavior>();
                     foreach (XElement element in behavior.Extensions.Elements <XElement>())
                     {
                         if (element.Name.Equals(metadata.Name.ToString()))
                         {
                             element.SetValue(metadata.Value);
                         }
                     }
                 }
                 catch (Exception ex)
                 {
                     Debug.WriteLine(ex.ToString());
                     throw ex;
                 }
             }
         }
     }
 }
Example #2
0
 public void MetadataSet(DiscoveryMetadata metadata)
 {
     if (HostMetadata == null)
     {
         HostMetadata = new List <DiscoveryMetadata>();
     }
     HostMetadata.Add(metadata);
 }
Example #3
0
        public void SetMetadata(DiscoveryMetadata metadata)
        {
            if (m_MetadataList == null)
            {
                m_MetadataList = new List <DiscoveryMetadata>();
            }

            m_MetadataList.Add(metadata);
        }
Example #4
0
        public void UpdateMetadata(DiscoveryMetadata metadata)
        {
            if (!String.IsNullOrWhiteSpace(metadata.Value) && m_MetadataList.Contains(metadata))
            {
                Predicate <DiscoveryMetadata> NameFinder = (DiscoveryMetadata m) => { return(m.Name == metadata.Name); };
                DiscoveryMetadata             data       = m_MetadataList.Find(NameFinder);
                data.Value = metadata.Value;

                EndpointDiscoveryBehavior endpointDiscoveryBehavior = m_NetEndpoint.Behaviors.Find <EndpointDiscoveryBehavior>();

                foreach (XElement endpointMetadata in endpointDiscoveryBehavior.Extensions.Elements <XElement>())
                {
                    if (endpointMetadata.Name.Equals(metadata.Name.ToString()))
                    {
                        endpointMetadata.SetValue(metadata.Value);
                    }
                }
            }
        }