public static void Main() { // <Snippet0> // <Snippet1> // Name property AddressHeader addressHeaderWithName = AddressHeader.CreateAddressHeader("MyServiceName", "http://localhost:8000/service", 1); string addressHeaderName = addressHeaderWithName.Name; // </Snippet1> // <Snippet2> //Put snippet here. // Namespace property AddressHeader addressHeaderWithNS = AddressHeader.CreateAddressHeader("MyServiceName", "http://localhost:8000/service", 1); string addressHeaderNS = addressHeaderWithNS.Namespace; // </Snippet2> // <Snippet3> // Obsolete // </Snippet3> // <Snippet4> // Obsolete // </Snippet4> // <Snippet5> // 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); // </Snippet5> // <Snippet10> // <Snippet6> //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>(); // </Snippet6> // </Snippet10> // </Snippet0> }
// Apply EndpointAddress to a SendActivity static public void ApplyEndpointAddress(SendActivity activity, EndpointAddress epr) { if (activity.ExecutionStatus == ActivityExecutionStatus.Initialized) { if (epr.Uri != null) { activity.CustomAddress = epr.Uri.ToString(); } if (epr.Headers != null && epr.Headers.Count > 0) { AddressHeader contextHeader = epr.Headers.FindHeader(contextHeaderName, contextHeaderNamespace); IDictionary <string, string> context = contextHeader.GetValue <Dictionary <string, string> >(); activity.Context = context; } } }
//This uses an event handler, not SL data binding void OnClick(object sender, EventArgs args) { // <Snippet0> // <Snippet1> // Name property AddressHeader addressHeaderWithName = AddressHeader.CreateAddressHeader("MyServiceName", "http://localhost:8000/service", 1); string addressHeaderName = addressHeaderWithName.Name; // </Snippet1> // <Snippet2> //Put snippet here. // Namespace property AddressHeader addressHeaderWithNS = AddressHeader.CreateAddressHeader("MyServiceName", "http://localhost:8000/service", 1); string addressHeaderNS = addressHeaderWithNS.Namespace; // </Snippet2> // <Snippet3> // Obsolete // </Snippet3> // <Snippet4> // Obsolete // </Snippet4> // <Snippet5> // 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); // </Snippet5> // <Snippet10> // <Snippet6> //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>(); // </Snippet6> // </Snippet10> // </Snippet0> //Bind text outputs //Name txtOutput1.Text = addressHeaderName; //Namespace txtOutput2.Text = addressHeaderNS; //Contains txtHeaders AddressHeaderCollection addressHeaderCollection1 = endpointAddressWithHeaders.Headers; string txtHeaders = addressHeaderCollection1.Contains(addressHeader1).ToString(); txtOutput3.Text = txtHeaders; txtOutput4.Text = value.ToString(); //txtOutput5.Text = txtOutput5; //txtOutput6.Text = txtOutput6; //txtOutput7.Text = txtOutput7; }