Exemple #1
0
        public IInstanceTestService GetService(string username, string password)
        {
            if (_singleton == null)
            {
                var url     = new Uri(TestingServer.BaseAddress, "singleton");
                var binding = new WS2007HttpBinding(SecurityMode.TransportWithMessageCredential);
                binding.Security.Message.ClientCredentialType     = MessageCredentialType.UserName;
                binding.Security.Message.EstablishSecurityContext = false;
                var endpoint = new EndpointAddress(url);
                var factory  = new ChannelFactory <IInstanceTestService>(binding, endpoint);

                factory.Credentials.UserName.UserName = username;
                factory.Credentials.UserName.Password = password;

                var client = factory.CreateChannel();
                _singleton = client;

                var channel = client as ICommunicationObject;
                channel.Closed += (sender, args) =>
                {
                    _singleton = null;
                };
            }
            return(_singleton);
        }
        public IInstanceTestService GetSingletonService()
        {
            if (_singleton == null)
            {
                var url      = new Uri(TestingServer.BaseAddress, "singleton");
                var binding  = new BasicHttpBinding();
                var endpoint = new EndpointAddress(url);
                var factory  = new ChannelFactory <IInstanceTestService>(binding, endpoint);
                var client   = factory.CreateChannel();
                _singleton = client;

                var channel = client as ICommunicationObject;
                channel.Closed += (sender, args) =>
                {
                    _singleton = null;
                };
            }
            return(_singleton);
        }