private void ListenForSources() { HostDiscovery sourceDiscovery = new HostDiscovery(typeof(ITipManager), new TimeSpan(0, 0, 0, 1, 0)); while (!m_Shutdown) { Collection <EndpointDiscoveryMetadata> sourceEndpoints = sourceDiscovery.GetAvailableConnections(); if (sourceEndpoints.Count > 0) { for (Int32 index = 0; index < sourceEndpoints.Count; index++) { String alias = GetAlias(sourceEndpoints[index].Extensions); if (!String.IsNullOrWhiteSpace(alias)) { if (!ContainsClient(alias)) { TIPClient tipManager = new TIPClient(alias, CTICaseDirectory, FTIImageDirectory, m_CTITemplateDirectory, m_WSServer); InstanceContext sourceCallback = new InstanceContext(tipManager); ServiceEndpoint tipManagerEndPoint = new ServiceEndpoint(ContractDescription.GetContract(typeof(TipManagerEndpoint)), new TCPBinding(), sourceEndpoints[index].Address); tipManager.EndPoint = new TipManagerEndpoint(sourceCallback, tipManagerEndPoint); m_TIPManagers.Add(tipManager); } } } } } }
private void ListenForACSComm() { Boolean createdPanel = false; HostDiscovery awsCommDiscovery = new HostDiscovery(typeof(ICaseRequestManager), new TimeSpan(0, 0, 0, 1, 0)); while (!createdPanel) { Collection <EndpointDiscoveryMetadata> ACSCommEndpoints = awsCommDiscovery.GetAvailableConnections(); if (ACSCommEndpoints.Count > 0) { for (Int32 index = 0; index < ACSCommEndpoints.Count; index++) { InstanceContext acsCommCallback = new InstanceContext(new CACSCaseRequestManagerCallback(this)); TCPBinding tcpbinding = new TCPBinding(); ServiceEndpoint HostEndPoint = new ServiceEndpoint(ContractDescription.GetContract(typeof(ICaseRequestManager)), tcpbinding, ACSCommEndpoints[index].Address); if (index == 0) { // Connect and setup our endpoint ACSEndPoint = new CaseRequestManagerEndpoint(acsCommCallback, HostEndPoint); //tabItem1.Visibility = System.Windows.Visibility.Visible; //Tab1Grid.Visibility = System.Windows.Visibility.Visible; Thread Conn1Ping = new Thread(new ThreadStart(PingHost)); Conn1Ping.Start(); } else if (index == 1) { //m_AWSCommEndPoint2 = new AWSCommEndpoint(awsCommCallback, HostEndPoint); //tabItem2.Visibility = System.Windows.Visibility.Visible; //Tab2Grid.Visibility = System.Windows.Visibility.Visible; } else if (index == 2) { // m_AWSCommEndPoint3 = new AWSCommEndpoint(awsCommCallback, HostEndPoint); // tabItem3.Visibility = System.Windows.Visibility.Visible; // Tab3Grid.Visibility = System.Windows.Visibility.Visible; } else if (index == 3) { // m_AWSCommEndPoint4 = new AWSCommEndpoint(awsCommCallback, HostEndPoint); // tabItem4.Visibility = System.Windows.Visibility.Visible; //Tab4Grid.Visibility = System.Windows.Visibility.Visible; } //Show the Tab Page } createdPanel = true; } Thread.Sleep(10000); } }
private void ListenForSources() { HostDiscovery sourceDiscovery = new HostDiscovery(m_ContractType, new TimeSpan(0, 0, 0, _wcfDiscoveryProbeTimeoutPeriodSec, 0), _enableDiscoveryManagedMode, _discoveryProxyUri); while (!m_Shutdown) { Collection <EndpointDiscoveryMetadata> sourceEndpoints = sourceDiscovery.GetAvailableConnections(); if (sourceEndpoints.Count > 0) { for (int index = 0; index < sourceEndpoints.Count; index++) { string alias = GetAlias(sourceEndpoints[index].Extensions); if (!String.IsNullOrWhiteSpace(alias)) { alias = m_SourceType.ToString() + "-" + alias; if (!ContainsEndPoints(alias)) { bool isLoginRequired = GetLoginRequired(sourceEndpoints[index].Extensions); CaseSource <T> caseSourceT = new CaseSource <T>(alias, isLoginRequired); InstanceContext sourceCallback = new InstanceContext(caseSourceT); ServiceEndpoint HostEndPoint = new ServiceEndpoint(ContractDescription.GetContract(m_ContractType), new TCPBinding(), sourceEndpoints[index].Address); HostEndPoint.Binding.SendTimeout = new TimeSpan(0, _wcfTcpBindingSendTimeoutMin, 0); HostEndPoint.Binding.ReceiveTimeout = new TimeSpan(0, _wcfTcpBindingReceiveTimeoutMin, 0); T t = (T)Activator.CreateInstance(typeof(T), new object[] { sourceCallback, HostEndPoint }); caseSourceT.EndPoint = t; AddSource(caseSourceT); Thread caseListThread = new Thread(new ParameterizedThreadStart(delegate { try { GetCaseList(caseSourceT, alias); } catch { } })); caseListThread.Start(); Thread pingThread = new Thread(new ParameterizedThreadStart(delegate { PingSource(caseSourceT); })); pingThread.Start(); m_PingThreads.Add(pingThread); } } } } } }
private void ListenForServices() { HostDiscovery serviceDiscovery = new HostDiscovery(typeof(ISubsystem), new TimeSpan(0, 0, 0, 2, 0)); while (!_Shutdown) { try { Collection <EndpointDiscoveryMetadata> sourceEndpoints = serviceDiscovery.GetAvailableConnections(); if (sourceEndpoints.Count > 0) { for (int index = 0; index < sourceEndpoints.Count; index++) { string alias = GetAlias(sourceEndpoints[index].Extensions); string assemblyTag = GetAssemblyTag(sourceEndpoints[index].Extensions); SubsystemService subsystemService = GetService(alias); if (subsystemService == null) { subsystemService = AddSubsystem(alias, assemblyTag, sourceEndpoints[index].Address); Thread assemblyThread = new Thread(new ParameterizedThreadStart(delegate { GetAssembly(subsystemService); })); assemblyThread.IsBackground = true; assemblyThread.Start(); } else { subsystemService.CommCheckTimer.Change(_SubsystemCommTimeoutMsec, Timeout.Infinite); } } } } catch (ThreadAbortException) { } catch (Exception ex) { _Logger.LogError(ex); } } }
private void ListenForAWSComm() { Boolean createdPanel = false; HostDiscovery awsCommDiscovery = new HostDiscovery(typeof(IWSComm), new TimeSpan(0, 0, 0, 1, 0)); while (!createdPanel) { Collection<EndpointDiscoveryMetadata> AWSCommEndpoints = awsCommDiscovery.GetAvailableConnections(); if (AWSCommEndpoints.Count > 0) { for (Int32 index = 0; index < AWSCommEndpoints.Count; index++) { foreach (XElement xElement in AWSCommEndpoints[index].Extensions) { try { String alias = xElement.Element("HostAlias").Value; break; } catch { continue; } } InstanceContext awsCommCallback = new InstanceContext(new WSCommCallback()); TCPBinding tcpbinding = new TCPBinding(); ServiceEndpoint HostEndPoint = new ServiceEndpoint(ContractDescription.GetContract(typeof(IWSComm)), tcpbinding, AWSCommEndpoints[index].Address); if (index == 0) { // Connect and setup our endpoint m_AWSCommEndPoint1 = new WSCommEndpoint(awsCommCallback, HostEndPoint); tabItem1.Visibility = System.Windows.Visibility.Visible; Tab1Grid.Visibility = System.Windows.Visibility.Visible; Thread Conn1Ping = new Thread(new ThreadStart(PingHost)); Conn1Ping.Start(); } else if (index == 1) { m_AWSCommEndPoint2 = new WSCommEndpoint(awsCommCallback, HostEndPoint); tabItem2.Visibility = System.Windows.Visibility.Visible; Tab2Grid.Visibility = System.Windows.Visibility.Visible; } else if (index == 2) { m_AWSCommEndPoint3 = new WSCommEndpoint(awsCommCallback, HostEndPoint); tabItem3.Visibility = System.Windows.Visibility.Visible; Tab3Grid.Visibility = System.Windows.Visibility.Visible; } else if (index == 3) { m_AWSCommEndPoint4 = new WSCommEndpoint(awsCommCallback, HostEndPoint); tabItem4.Visibility = System.Windows.Visibility.Visible; Tab4Grid.Visibility = System.Windows.Visibility.Visible; } //Show the Tab Page } createdPanel = true; } else { Thread.Sleep(10000); } } }
private void ListenForAWSComm() { Boolean createdPanel = false; HostDiscovery awsCommDiscovery = new HostDiscovery(typeof(IWSComm), new TimeSpan(0, 0, 0, 1, 0)); while (!createdPanel) { Collection <EndpointDiscoveryMetadata> AWSCommEndpoints = awsCommDiscovery.GetAvailableConnections(); if (AWSCommEndpoints.Count > 0) { for (Int32 index = 0; index < AWSCommEndpoints.Count; index++) { foreach (XElement xElement in AWSCommEndpoints[index].Extensions) { try { String alias = xElement.Element("HostAlias").Value; break; } catch { continue; } } InstanceContext awsCommCallback = new InstanceContext(new WSCommCallback()); TCPBinding tcpbinding = new TCPBinding(); ServiceEndpoint HostEndPoint = new ServiceEndpoint(ContractDescription.GetContract(typeof(IWSComm)), tcpbinding, AWSCommEndpoints[index].Address); if (index == 0) { // Connect and setup our endpoint m_AWSCommEndPoint1 = new WSCommEndpoint(awsCommCallback, HostEndPoint); tabItem1.Visibility = System.Windows.Visibility.Visible; Tab1Grid.Visibility = System.Windows.Visibility.Visible; Thread Conn1Ping = new Thread(new ThreadStart(PingHost)); Conn1Ping.Start(); } else if (index == 1) { m_AWSCommEndPoint2 = new WSCommEndpoint(awsCommCallback, HostEndPoint); tabItem2.Visibility = System.Windows.Visibility.Visible; Tab2Grid.Visibility = System.Windows.Visibility.Visible; } else if (index == 2) { m_AWSCommEndPoint3 = new WSCommEndpoint(awsCommCallback, HostEndPoint); tabItem3.Visibility = System.Windows.Visibility.Visible; Tab3Grid.Visibility = System.Windows.Visibility.Visible; } else if (index == 3) { m_AWSCommEndPoint4 = new WSCommEndpoint(awsCommCallback, HostEndPoint); tabItem4.Visibility = System.Windows.Visibility.Visible; Tab4Grid.Visibility = System.Windows.Visibility.Visible; } //Show the Tab Page } createdPanel = true; } else { Thread.Sleep(10000); } } }
private void ListenForSources() { HostDiscovery sourceDiscovery = new HostDiscovery(typeof(ITipManager), new TimeSpan(0, 0, 0, 1, 0)); while (!m_Shutdown) { Collection<EndpointDiscoveryMetadata> sourceEndpoints = sourceDiscovery.GetAvailableConnections(); if (sourceEndpoints.Count > 0) { for (Int32 index = 0; index < sourceEndpoints.Count; index++) { String alias = GetAlias(sourceEndpoints[index].Extensions); if (!String.IsNullOrWhiteSpace(alias)) { if (!ContainsClient(alias)) { TIPClient tipManager = new TIPClient(alias, CTICaseDirectory, FTIImageDirectory, m_CTITemplateDirectory, m_WSServer); InstanceContext sourceCallback = new InstanceContext(tipManager); ServiceEndpoint tipManagerEndPoint = new ServiceEndpoint(ContractDescription.GetContract(typeof(TipManagerEndpoint)), new TCPBinding(), sourceEndpoints[index].Address); tipManager.EndPoint = new TipManagerEndpoint(sourceCallback, tipManagerEndPoint); m_TIPManagers.Add(tipManager); } } } } } }
private void ListenForACSComm() { Boolean createdPanel = false; HostDiscovery awsCommDiscovery = new HostDiscovery(typeof(ICaseRequestManager), new TimeSpan(0, 0, 0, 1, 0)); while (!createdPanel) { Collection<EndpointDiscoveryMetadata> ACSCommEndpoints = awsCommDiscovery.GetAvailableConnections(); if (ACSCommEndpoints.Count > 0) { for (Int32 index = 0; index < ACSCommEndpoints.Count; index++) { InstanceContext acsCommCallback = new InstanceContext(new CACSCaseRequestManagerCallback(this)); TCPBinding tcpbinding = new TCPBinding(); ServiceEndpoint HostEndPoint = new ServiceEndpoint(ContractDescription.GetContract(typeof(ICaseRequestManager)), tcpbinding, ACSCommEndpoints[index].Address); if (index == 0) { // Connect and setup our endpoint ACSEndPoint = new CaseRequestManagerEndpoint(acsCommCallback, HostEndPoint); //tabItem1.Visibility = System.Windows.Visibility.Visible; //Tab1Grid.Visibility = System.Windows.Visibility.Visible; Thread Conn1Ping = new Thread(new ThreadStart(PingHost)); Conn1Ping.Start(); } else if (index == 1) { //m_AWSCommEndPoint2 = new AWSCommEndpoint(awsCommCallback, HostEndPoint); //tabItem2.Visibility = System.Windows.Visibility.Visible; //Tab2Grid.Visibility = System.Windows.Visibility.Visible; } else if (index == 2) { // m_AWSCommEndPoint3 = new AWSCommEndpoint(awsCommCallback, HostEndPoint); // tabItem3.Visibility = System.Windows.Visibility.Visible; // Tab3Grid.Visibility = System.Windows.Visibility.Visible; } else if (index == 3) { // m_AWSCommEndPoint4 = new AWSCommEndpoint(awsCommCallback, HostEndPoint); // tabItem4.Visibility = System.Windows.Visibility.Visible; //Tab4Grid.Visibility = System.Windows.Visibility.Visible; } //Show the Tab Page } createdPanel = true; } Thread.Sleep(10000); } }