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); } }
static void ClientThread(object obj) { //var host = HostManager.GetClientHost("192.168.186.1"); var host = HostManager.GetClientHost(hostIP); var state = (ThreadState)obj; var binding = new NetTcpBinding { Name = "my_binding", HostNameComparisonMode = HostNameComparisonMode.StrongWildcard, MaxBufferSize = UInt16.MaxValue * 16, }; binding.Security.Mode = SecurityMode.None; //binding. binding.TransferMode = TransferMode.Buffered; //var b = new BasicHttpBinding(BasicHttpSecurityMode.None); var channelFactory = new ChannelFactory <IRLTTaskManagerService>(binding); var eP = new EndpointAddress(host); var service = channelFactory.CreateChannel(eP); channelFactory.Faulted += channelFactory_Faulted; var fromDate = DateTime.Now.AddDays(-100); try { while (true) { state.LastRequest = DateTime.Now; //Console.WriteLine(string.Format("[{0}] Чтение", state.Index)); var result = new List <AgrProject>(); var previousId = -1; while (true) { state.IsRequestWait = true; var projects = service.GetProjects(fromDate, previousId); if (projects == null) { break; } state.IsRequestWait = false; result.AddRange(projects); if (projects.Count < 10) { break; } var previous = projects.Last(); previousId = previous.ProjectId; //fromDate = previous.TimeEndActual ?? DateTime.MinValue; //foreach (var p in projects) // Console.Write(string.Format("{0} [{1}]\n", p.ProjectId, p.ID)); //Console.WriteLine(previous.ProjectId + " : " + previous.TimeEndActual); } // ждем 500 мсек Thread.Sleep(3000); //Console.Clear(); } } catch (Exception ex) { state.Ex = ex; //Console.WriteLine(string.Format("[{0}] Процесс упал exception: {1}", state.Index, ex.Message)); } }