Пример #1
0
        private void Run()
        {
            // Create a ServiceHost for the service type and use base address in the configuration file.
            using (ServiceHost serviceHost = new ServiceHost(typeof(CalculatorService)))
            {
                // Apply query string formatter
                foreach (ServiceEndpoint endpoint in serviceHost.Description.Endpoints)
                {
                    foreach (OperationDescription operationDescription in endpoint.Contract.Operations)
                    {
                        EnableHttpGetRequestsBehavior.ReplaceFormatterBehavior(operationDescription, endpoint.Address);
                    }
                }

                // Open the ServiceHost to create listeners and start listening for messages.
                serviceHost.Open();

                // The service can now be accessed.
                Console.WriteLine("The service is ready.");
                Console.WriteLine("Press <ENTER> to terminate service.");
                Console.WriteLine();
                Console.ReadLine();

                serviceHost.Close();
            }
        }
Пример #2
0
        static void Main()
        {
            // Create a client
            ChannelFactory <ICalculator> channelFactory = new ChannelFactory <ICalculator>("Calculator");

            // Apply query string formatter
            foreach (OperationDescription operationDescription in channelFactory.Endpoint.Contract.Operations)
            {
                EnableHttpGetRequestsBehavior.ReplaceFormatterBehavior(operationDescription, channelFactory.Endpoint.Address);
            }

            ICalculator client = channelFactory.CreateChannel();

            // Call the Add service operation.
            double value1 = 100.00D;
            double value2 = 15.99D;
            double result = client.Add(value1, value2);

            Console.WriteLine("Add({0},{1}) = {2}", value1, value2, result);

            // Call the Subtract service operation.
            value1 = 145.00D;
            value2 = 76.54D;
            result = client.Subtract(value1, value2);
            Console.WriteLine("Subtract({0},{1}) = {2}", value1, value2, result);

            // Call the Multiply service operation.
            value1 = 9.00D;
            value2 = 81.25D;
            result = client.Multiply(value1, value2);
            Console.WriteLine("Multiply({0},{1}) = {2}", value1, value2, result);

            // Call the Divide service operation.
            value1 = 22.00D;
            value2 = 7.00D;
            result = client.Divide(value1, value2);
            Console.WriteLine("Divide({0},{1}) = {2}", value1, value2, result);

            //Closing the client gracefully closes the connection and cleans up resources
            ((System.ServiceModel.Channels.IChannel)client).Close();

            Console.WriteLine();
            Console.WriteLine("Press <ENTER> to terminate client.");
            Console.ReadLine();
        }