Example #1
0
        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);
                            }
                        }
                    }
                }
            }
        }
Example #2
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);
            }
        }
Example #3
0
        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);
                            }
                        }
                    }
                }
            }
        }
Example #4
0
        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);
                }
            }
        }
Example #5
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);
                }
            }
        }
Example #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);
                }
            }
        }
Example #7
0
        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);
                            }
                        }
                    }
                }
            }
        }
Example #8
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);
            }
        }