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); } }