Ejemplo n.º 1
0
    void Run()
    {
        // Picks up configuration from the config file.
        // <snippet4>
        SampleServiceClient wcfClient = new SampleServiceClient(new InstanceContext(this));

        try
        {
            using (OperationContextScope scope = new OperationContextScope(wcfClient.InnerChannel))
            {
                MessageHeader header
                    = MessageHeader.CreateHeader(
                          "Service-Bound-CustomHeader",
                          "http://Microsoft.WCF.Documentation",
                          "Custom Happy Value."
                          );
                OperationContext.Current.OutgoingMessageHeaders.Add(header);

                // Making calls.
                Console.WriteLine("Enter the greeting to send: ");
                string greeting = Console.ReadLine();

                //Console.ReadLine();
                header = MessageHeader.CreateHeader(
                    "Service-Bound-OneWayHeader",
                    "http://Microsoft.WCF.Documentation",
                    "Different Happy Value."
                    );
                OperationContext.Current.OutgoingMessageHeaders.Add(header);

                // One-way
                wcfClient.Push(greeting);
                this.wait.WaitOne();

                // Done with service.
                wcfClient.Close();
                Console.WriteLine("Done!");
                Console.ReadLine();
            }
        }
        catch (TimeoutException timeProblem)
        {
            Console.WriteLine("The service operation timed out. " + timeProblem.Message);
            Console.ReadLine();
            wcfClient.Abort();
        }
        catch (CommunicationException commProblem)
        {
            Console.WriteLine("There was a communication problem. " + commProblem.Message);
            Console.ReadLine();
            wcfClient.Abort();
        }
        // </snippet4>
    }