1 //----------------------------------------------------------
2 // Copyright (c) Microsoft Corporation. All rights reserved.
3 //------------------------------------------------------------
5 namespace System.ServiceModel
8 using System.IdentityModel.Claims;
9 using System.IdentityModel.Policy;
11 using System.Xml.Serialization;
13 public class DnsEndpointIdentity : EndpointIdentity
15 public DnsEndpointIdentity(string dnsName)
18 throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("dnsName");
20 base.Initialize(Claim.CreateDnsClaim(dnsName));
23 public DnsEndpointIdentity(Claim identity)
26 throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("identity");
29 #pragma warning suppress 56506 // Claim.ClaimType will never return null
30 if (!identity.ClaimType.Equals(ClaimTypes.Dns))
31 throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument(SR.GetString(SR.UnrecognizedClaimTypeForIdentity, identity.ClaimType, ClaimTypes.Dns));
33 base.Initialize(identity);
36 internal override void WriteContentsTo(XmlDictionaryWriter writer)
39 throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("writer");
41 writer.WriteElementString(XD.AddressingDictionary.Dns, XD.AddressingDictionary.IdentityExtensionNamespace, (string)this.IdentityClaim.Resource);