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 PingHost() { while (ACSEndPoint != null) { try { ACSEndPoint.Ping(m_AWSId.ToString()); } catch { ACSEndPoint = null; } Thread.Sleep(1000); } }
private void PingHost() { while (ACSEndPoint != null) { try { ACSEndPoint.Ping(m_AWSId.ToString()); } catch { ACSEndPoint = null; } Thread.Sleep(1000); } }
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); } }