public static void CloseClient()
        {
            service = null;

            DoDisconnected();

            LogManager.LogInfo(unit, string.Format("Связь с каналом '{0}' потеряна", ProjectConfiguration.Address));
        }
        public static bool CreateClient()
        {
            if (service != null)
            {
                return(true);
            }

            try
            {
                var host = HostManager.GetClientHost(ProjectConfiguration.Address);

                var binding = new NetTcpBinding
                {
                    Name = "my_binding",
                    HostNameComparisonMode = HostNameComparisonMode.StrongWildcard,
                    MaxBufferSize          = UInt16.MaxValue * 16
                };
                binding.Security.Mode = SecurityMode.None;
                binding.TransferMode  = TransferMode.Buffered;

                //var b = new BasicHttpBinding(BasicHttpSecurityMode.None);

                var channelFactory = new ChannelFactory <IRLTTaskManagerService>(binding);
                var eP             = new EndpointAddress(host);
                service = channelFactory.CreateChannel(eP);

                channelFactory.Closed += channelFactory_Closed;

                LogManager.LogInfo(unit, string.Format("Связь с каналом '{0}' установлена", ProjectConfiguration.Address));
                DoConnected();

                return(true);
            }
            catch (Exception ex)
            {
                LogManager.LogError(unit, string.Format("Ошибка связи с каналом: {0} ", ProjectConfiguration.Address), ex);

                CloseClient();

                return(false);
            }
        }