예제 #1
0
        private void PingHost()
        {
            while (m_AWSCommEndPoint1 != null)
            {
                try
                {
                    m_AWSCommEndPoint1.Ping(m_AWSId);
                }
                catch
                {
                    m_AWSCommEndPoint1 = null;

                    tabItem1.Dispatcher.BeginInvoke(new Action(
                                                        delegate()
                    {
                        tabItem1.Visibility = Visibility.Collapsed;
                    }));
                    Tab1Grid.Dispatcher.BeginInvoke(new Action(
                                                        delegate()
                    {
                        Tab1Grid.Visibility = Visibility.Collapsed;
                    }));
                }

                Thread.Sleep(1000);
            }
        }
예제 #2
0
        public Window1()
        {
            InitializeComponent();

            m_AWSId = "AWS1_192.168.0.1";

            m_ActiveCase = String.Empty;

            m_AWSCommEndPoint1 = null;
            m_AWSCommEndPoint2 = null;
            m_AWSCommEndPoint3 = null;
            m_AWSCommEndPoint4 = null;
        }
예제 #3
0
        public Window1()
        {
            InitializeComponent();

            m_AWSId = "AWS1_192.168.0.1";

            m_ActiveCase = String.Empty;

            m_AWSCommEndPoint1 = null;
            m_AWSCommEndPoint2 = null;
            m_AWSCommEndPoint3 = null;
            m_AWSCommEndPoint4 = null;

        }
예제 #4
0
        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);
                }
            }
        }
예제 #5
0
        private void PingHost()
        {
            while (m_AWSCommEndPoint1 != null)
            {
                try
                {
                    m_AWSCommEndPoint1.Ping(m_AWSId);
                }
                catch
                {
                    m_AWSCommEndPoint1 = null;

                    tabItem1.Dispatcher.BeginInvoke(new Action(
                        delegate()
                        {
                            tabItem1.Visibility = Visibility.Collapsed;
                        }));
                    Tab1Grid.Dispatcher.BeginInvoke(new Action(
                        delegate()
                        {
                            Tab1Grid.Visibility = Visibility.Collapsed;
                        }));
                }

                Thread.Sleep(1000);
            }
        }
예제 #6
0
        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);
                }
            }
        }