public WSServer(CargoHostEndPoint cargoHost, string alias, string uri, string allowedIPs, string profileDir, bool enableArchiveDecision) : base() { m_Shutdown = false; m_CargoHostEndPoint = cargoHost; m_ProfilesFolder = profileDir; m_Alias = alias; m_EnableArchiveDecision = enableArchiveDecision; m_ClientListLock = new object(); m_CaseListLock = new object(); _workstationLoadListLock = new object(); _updateCaseAssignmentLock = new object(); m_HostConnThread = new Thread(new ThreadStart(HostConnState)); m_ClientConnThread = new Thread(new ThreadStart(ClientConnState)); m_NetworkHost = new NetworkHost(this, new Uri(uri), alias, allowedIPs); m_NetworkHost.SendTimeoutMin = int.Parse(ConfigurationManager.AppSettings["WcfTcpBindingSendTimeoutMin"]); m_NetworkHost.ReceiveTimeoutMin = int.Parse(ConfigurationManager.AppSettings["WcfTcpBindingReceiveTimeoutMin"]); m_Callbacks = new WSServerCallbacks(); m_ManualCodingCallback = new ManualCodingCallback_Impl(this); m_AnalystCallback = new AnalystCallback_Impl(this); m_CaseChangeCallback = new CaseChangeCallback_Impl(this); _workstationLoadBalanceList = new List <LoadBalanceInfo>(); _loadBalanceCheckTimer = new Timer(new TimerCallback(LoadBalanceCheckTimerCallback), null, Timeout.Infinite, Timeout.Infinite); _loadBalanceTimerSet = false; _loadBalanceTimerSelectedWorkstation = string.Empty; base.Subscribe(base.caseList); base.caseList.StartUpdate = true; }
public MainWindow() { InitializeComponent(); _cargoHostEndPoint = new CargoHostEndPoint(ConfigurationManager.AppSettings["CargoHostLocation"], Convert.ToInt32(ConfigurationManager.AppSettings["CargoHostPort"])); _loginInfo = new LoginInfo(); this.DataContext = _loginInfo; }
public MainWindow() { bool createdNew = true; mutex = new Mutex(true, "WSComm", out createdNew); if (createdNew) { InitializeComponent(); caseWSCollection = (CaseWSCollection)FindResource("casewscollection"); m_CargoHostEndPoint_Impl = new CargoHostEndPoint(ConfigurationManager.AppSettings["host"], Int32.Parse(ConfigurationManager.AppSettings["port"])); m_WSServer_Impl = new WSServer(m_CargoHostEndPoint_Impl, ConfigurationManager.AppSettings["Alias"], ConfigurationManager.AppSettings["ConnectionUri"], ConfigurationManager.AppSettings["AllowedIPList"], ConfigurationManager.AppSettings["UserProfiles"], Boolean.Parse(ConfigurationManager.AppSettings["EnableArchiveDecision"])); m_WSServer_Impl.CaseListUpdateEvent += new WSServer.CaseListUpdateHandler(UpdateCaseList); m_WSServer_Impl.HostStatusEvent += new WSServer.HostStatusHandler(UpdateHostStatus); if (Boolean.Parse(ConfigurationManager.AppSettings["EnableTIP"])) { m_TIPClientManager_Impl = new TIPClientManager(m_WSServer_Impl, ConfigurationManager.AppSettings["Alias"], ConfigurationManager.AppSettings["CTITemplateDirectory"]); } CargoHostNameText.Text = ConfigurationManager.AppSettings["host"] + ": Disconnected"; if (Boolean.Parse(ConfigurationManager.AppSettings["EnableMCArea"])) { MCAreaEnable_Click(this, new RoutedEventArgs()); } else { MCAreaDisable_Click(this, new RoutedEventArgs()); } } else { Process current = Process.GetCurrentProcess(); foreach (Process process in Process.GetProcessesByName(current.ProcessName)) { SetForegroundWindow(process.MainWindowHandle); } Application.Current.Shutdown(); } }
public override void Dispose() { try { if (/*exists (avoid first try exceptions)?*/ _rawDataAccess != null) { _rawDataAccess.Dispose(); } } catch { } finally { _rawDataAccess = null; } try { if (/*exists (avoid first try exceptions)?*/ _realTimeViewer != null) { _realTimeViewer.Dispose(); } } catch { } finally { _realTimeViewer = null; } try { if (/*exists (avoid first try exceptions)?*/ _detectorsAccess != null) { _detectorsAccess.Dispose(); } } catch { } finally { _detectorsAccess = null; } try { if (/*exists (avoid first try exceptions)?*/ _apcsAccess != null) { _apcsAccess.Dispose(); } } catch { } finally { _apcsAccess = null; } try { if (/*exists (avoid first try exceptions)?*/ _cargoHostEndPoint != null) { _cargoHostEndPoint.Close(); } } catch { } finally { _cargoHostEndPoint = null; } try { base.Dispose(); } catch { } }
/// <summary> /// CargoHostInterface. This is the constructor for this /// class. It publishes XI and SNM objects for CargoHost to receive notifications /// /// Arguments: /// /// /// /// none /// Exceptions: /// none /// Return: /// none /// </summary> public CargoHostInterface(EventLoggerAccess logger) { try { string CORBA_NS_Host = (string)System.Configuration.ConfigurationManager.AppSettings["host"]; Int32 CORBA_NS_Port = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["port"]); _cargoHostEndPoint = new CargoHostEndPoint(CORBA_NS_Host, CORBA_NS_Port); } catch (Exception e) { MessageBox.Show(e.StackTrace); return; } _cargoHostEndPoint.Open(); _logger = logger; }
public DetectorsDataAccess(EventLoggerAccess logger) : base(logger) { _logger = logger; _detectorsAccess = new DetectorsAccess(_logger); _detectorsAccess.ReadyEvent += new ConnectionStateChangeHandler(OnDetectorsChange); _apcsAccess = new ApcsAccess(logger); _apcsAccess.ReadyEvent += new ConnectionStateChangeHandler(OnApcsChange); _apcsAccess.Start(); _detectorsAccess.Start(); _OpcTags = new OpcTags(); base.TagUpdate += new PLCTagUpdateHandler(_OpcTags.DataAccess_TagUpdate); base.TagUpdate += new PLCTagUpdateHandler(DetectorsDataAccess_TagUpdate); _cargoHostEndPoint = new CargoHostEndPoint(AppConfiguration.CargoHostServer, AppConfiguration.CargoHostPort); _logger.LogInfo("Cargo Host HostEndPoint is " + _cargoHostEndPoint.IPAddress + ":" + _cargoHostEndPoint.IPPort.ToString()); _rawDataAccess = new RawDataAccess(_logger, _detectorsAccess); _realTimeViewer = new RealTimeViewer(_logger); }