This topic has not yet been rated - Rate this topic

AddressHeader Class

April 12, 2014

Represents a header that encapsulates an address information item used to identify or interact with an endpoint.

System.Object
  System.ServiceModel.Channels.AddressHeader

Namespace:  System.ServiceModel.Channels
Assembly:  System.ServiceModel (in System.ServiceModel.dll)
public abstract class AddressHeader

The AddressHeader type exposes the following members.

  NameDescription
Protected methodAddressHeaderInitializes a new instance of the AddressHeader class.
Top
  NameDescription
Public propertyNameWhen implemented, gets the name of the address header.
Public propertyNamespaceWhen implemented, gets the namespace of the address header.
Top
  NameDescription
Public methodStatic memberCreateAddressHeader(String, String, Object)Creates a new instance of the AddressHeader class with a specified value, name and namespace.
Public methodStatic memberCreateAddressHeader(String, String, Object, XmlObjectSerializer)Creates a new instance of the AddressHeader class with a specified name and namespace that uses a specified formatter to serialize the information item from a specified object.
Public methodEqualsDetermines whether the information item in a specified object is equal to the object contained in the current address header. (Overrides Object.Equals(Object).)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.)
Public methodGetAddressHeaderReaderReturns an XML reader that can serialize the current address header object.
Public methodGetHashCodeProvides a unique hash code for an address header. (Overrides Object.GetHashCode().)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodGetValue<T>()Deserializes the information item from the current address header to an object of a specified type.
Public methodGetValue<T>(XmlObjectSerializer)Deserializes the information item from the current address header to an object of a specified type that uses a specified formatter to serialize this information.
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Protected methodOnWriteAddressHeaderContentsWhen overridden in a derived class, is invoked when the address header contents are written to a stream or file.
Protected methodOnWriteStartAddressHeaderWhen overridden in a derived class, is invoked when the address header contents begin to be written to a stream or file.
Public methodToMessageHeaderWraps the address header as a message header.
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)
Public methodWriteAddressHeader(XmlDictionaryWriter)Writes the address header to a stream or file using a specified XmlDictionaryWriter.
Public methodWriteAddressHeader(XmlWriter)Writes the address header to a stream or file using a specified XmlWriter.
Public methodWriteAddressHeaderContentsWrites the address header contents to a stream or file.
Public methodWriteStartAddressHeaderStarts to write the address header contents to a stream or file.
Top

An AddressHeader is characterized by a name and namespace and has a value that contains optional information used to identify or interact with an endpoint. The name can be accessed by the Name property and the namespace by the Namespace property.

The following example shows how to create address headers, access their properties, add them to a service endpoint and host the service using the endpoint.



            // Name property
            AddressHeader addressHeaderWithName = AddressHeader.CreateAddressHeader("MyServiceName", "http://localhost:8000/service",1);
            string addressHeaderName = addressHeaderWithName.Name;

            //Put snippet here.
            // Namespace property
            AddressHeader addressHeaderWithNS = AddressHeader.CreateAddressHeader("MyServiceName", "http://localhost:8000/service",1);
            string addressHeaderNS = addressHeaderWithNS.Namespace;

            // Create address headers for special services and add them to an array
            AddressHeader addressHeader1 = AddressHeader.CreateAddressHeader("specialservice1", "http://localhost:8000/service", 1);
            AddressHeader addressHeader2 = AddressHeader.CreateAddressHeader("specialservice2", "http://localhost:8000/service", 2);
            AddressHeader[] addressHeaders = new AddressHeader[2] { addressHeader1, addressHeader2 };

            // Endpoint address constructor with URI and address headers
            EndpointAddress endpointAddressWithHeaders = new EndpointAddress(
                new Uri("http://localhost/silverlightsamples/service1"), addressHeaders
                );

            // Confirm adddressHeader1 is in endpointAddressWithHeaders - boolHeaders returns True.
            AddressHeaderCollection addressHeaderCollection = endpointAddressWithHeaders.Headers;
            bool boolHeaders = addressHeaderCollection.Contains(addressHeader1);

            //Create address headers with XmlObjectSerializer specified
            XmlObjectSerializer serializer = new DataContractSerializer(typeof(int));
            AddressHeader addressHeaderWithObjSer = AddressHeader.CreateAddressHeader("MyServiceName", "http://localhost:8000/service", 1, serializer);
            int value = addressHeaderWithObjSer.GetValue<int>();



Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Windows Phone

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.