public void MessageContract()
        {
            var host = ServiceHelper.CreateWebHostBuilder <Startup>(_output).Build();

            using (host)
            {
                System.ServiceModel.ChannelFactory <ClientContract.ITestService> factory = null;
                ClientContract.ITestService channel = null;
                host.Start();
                try
                {
                    var binding = ClientHelper.GetBufferedModeBinding();
                    factory = new System.ServiceModel.ChannelFactory <ClientContract.ITestService>(binding,
                                                                                                   new System.ServiceModel.EndpointAddress(new Uri(NetTcpServiceUri)));
                    channel = factory.CreateChannel();
                    ((IChannel)channel).Open();
                    var message = new ClientContract.TestMessage()
                    {
                        Header = "Header",
                        Body   = new MemoryStream(Encoding.UTF8.GetBytes("Hello world"))
                    };
                    var result = channel.TestMessageContract(message);
                    Assert.Equal("Header from server", result.Header);
                    Assert.Equal("Hello world from server", new StreamReader(result.Body, Encoding.UTF8).ReadToEnd());
                    ((IChannel)channel).Close();
                    factory.Close();
                }
                finally
                {
                    ServiceHelper.CloseServiceModelObjects((IChannel)channel, factory);
                }
            }
        }
Exemplo n.º 2
0
        public static void MessageContract()
        {
            var host = CreateWebHostBuilder(new string[0]).Build();

            using (host)
            {
                host.Start();
                var binding = new System.ServiceModel.NetTcpBinding();
                var factory = new System.ServiceModel.ChannelFactory <ClientContract.ITestService>(binding,
                                                                                                   new System.ServiceModel.EndpointAddress(new Uri("net.tcp://localhost:8808/nettcp.svc")));
                var channel = factory.CreateChannel();
                ((IChannel)channel).Open();

                var message = new ClientContract.TestMessage()
                {
                    Header = "Header",
                    Body   = new MemoryStream(Encoding.UTF8.GetBytes("Hello world"))
                };
                var result = channel.TestMessageContract(message);
                ((IChannel)channel).Close();
                Assert.Equal("Header from server", result.Header);
                Assert.Equal("Hello world from server", new StreamReader(result.Body, Encoding.UTF8).ReadToEnd());
            }
        }