示例#1
0
        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);
            }
        }
示例#2
0
        private void PingHost()
        {
            while (ACSEndPoint != null)
            {
                try
                {
                    ACSEndPoint.Ping(m_AWSId.ToString());
                }
                catch
                {
                    ACSEndPoint = null;
                }

                Thread.Sleep(1000);
            }
        }
示例#3
0
        private void PingHost()
        {
            while (ACSEndPoint != null)
            {
                try
                {
                    ACSEndPoint.Ping(m_AWSId.ToString());
                }
                catch
                {
                    ACSEndPoint = null;                    
                }

                Thread.Sleep(1000);
            }
        }
示例#4
0
        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);
            }
        }