本文整理汇总了C#中System.ServiceModel.EndpointAddress.GetReaderAtMetadata方法的典型用法代码示例。如果您正苦于以下问题:C# EndpointAddress.GetReaderAtMetadata方法的具体用法?C# EndpointAddress.GetReaderAtMetadata怎么用?C# EndpointAddress.GetReaderAtMetadata使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.ServiceModel.EndpointAddress
的用法示例。
在下文中一共展示了EndpointAddress.GetReaderAtMetadata方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: TryGetIssuer
public virtual bool TryGetIssuer(XmlElement assertion, out EndpointAddress issuer, out EndpointAddress issuerMetadata)
{
bool result = true;
issuer = null;
issuerMetadata = null;
foreach (XmlNode node in assertion.ChildNodes)
{
if (node is XmlElement && IsWsspAssertion((XmlElement)node, IssuerName))
{
try
{
issuer = EndpointAddress.ReadFrom(XmlDictionaryReader.CreateDictionaryReader(new XmlNodeReader(node)));
XmlDictionaryReader metadataReader = issuer.GetReaderAtMetadata();
if (metadataReader != null)
{
while (metadataReader.MoveToContent() == XmlNodeType.Element)
{
if (metadataReader.LocalName == MetadataStrings.MetadataExchangeStrings.Metadata
&& metadataReader.NamespaceURI == MetadataStrings.MetadataExchangeStrings.Namespace)
{
MetadataSet metadataSet = MetadataSet.ReadFrom(metadataReader);
foreach (MetadataSection section in metadataSet.MetadataSections)
{
if (section.Metadata is MetadataReference)
{
issuerMetadata = ((MetadataReference)section.Metadata).Address;
}
}
break;
}
else
{
metadataReader.Skip();
}
}
}
}
catch (Exception e)
{
if (Fx.IsFatal(e))
throw;
if (e is NullReferenceException)
throw;
result = false;
}
break;
}
}
return result;
}
示例2: TryGetIssuer
public virtual bool TryGetIssuer(XmlElement assertion, out EndpointAddress issuer, out EndpointAddress issuerMetadata)
{
bool flag = true;
issuer = null;
issuerMetadata = null;
foreach (System.Xml.XmlNode node in assertion.ChildNodes)
{
if ((node is XmlElement) && this.IsWsspAssertion((XmlElement) node, "Issuer"))
{
try
{
issuer = EndpointAddress.ReadFrom(XmlDictionaryReader.CreateDictionaryReader(new XmlNodeReader(node)));
XmlDictionaryReader readerAtMetadata = issuer.GetReaderAtMetadata();
if (readerAtMetadata != null)
{
while (readerAtMetadata.MoveToContent() == XmlNodeType.Element)
{
if ((readerAtMetadata.Name == "Metadata") && (readerAtMetadata.NamespaceURI == "http://schemas.xmlsoap.org/ws/2004/09/mex"))
{
foreach (MetadataSection section in MetadataSet.ReadFrom(readerAtMetadata).MetadataSections)
{
if (section.Metadata is MetadataReference)
{
issuerMetadata = ((MetadataReference) section.Metadata).Address;
}
}
return flag;
}
readerAtMetadata.Skip();
}
}
return flag;
}
catch (Exception exception)
{
if (Fx.IsFatal(exception))
{
throw;
}
if (exception is NullReferenceException)
{
throw;
}
return false;
}
}
}
return flag;
}