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; } } } } }
public void MetadataSet(DiscoveryMetadata metadata) { if (HostMetadata == null) { HostMetadata = new List <DiscoveryMetadata>(); } HostMetadata.Add(metadata); }
public void SetMetadata(DiscoveryMetadata metadata) { if (m_MetadataList == null) { m_MetadataList = new List <DiscoveryMetadata>(); } m_MetadataList.Add(metadata); }
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); } } } }