コード例 #1
0
        private void InitialiseProxies()
        {
            List<string> proxyNames = GetClientEndPointNames();

            foreach (string proxyName in proxyNames)
            {
                try
                {
                    SIPMonitorPublisherProxy proxy = new SIPMonitorPublisherProxy(proxyName);
                    proxy.InnerChannel.OperationTimeout = m_proxyOperationTimeout;
                    m_proxies.Add(proxyName, proxy);
                    m_proxyLastTimeout.Add(proxyName, null);
                    m_proxyTimeoutCount.Add(proxyName, 0);
                    logger.Debug("Proxy added for " + proxyName + " on " + proxy.Endpoint.Address.ToString() + ".");
                    //CreateProxy(proxyName);
                }
                catch (Exception excp)
                {
                    logger.Error("Exception InitialiseProxies. " + excp.Message);
                }
            }
        }
コード例 #2
0
        private void CreateProxy(string proxyName)
        {
            try
            {
                logger.Debug("Attempting to create new proxy created for " + proxyName + ".");

                //InstanceContext callbackContext = new InstanceContext(this);
                SIPMonitorPublisherProxy proxy = new SIPMonitorPublisherProxy(proxyName);
                m_proxies.Add(proxyName, proxy);
                proxy.IsAlive();
                logger.Debug("Successfully connected to proxy " + proxyName + ".");

                /*ThreadPool.QueueUserWorkItem(delegate
                {
                    string name = proxyName;

                    try
                    {
                        proxy.IsAlive();
                       // ((ICommunicationObject)proxy).Faulted += ProxyChannelFaulted;
                        m_proxies.Add(name, proxy);
                        logger.Debug("Successfully connected to proxy " + name + ".");
                    }
                    catch (Exception excp)
                    {
                        logger.Warn("Could not connect to proxy " + name + ". " + excp.Message);
                        Timer retryProxy = new Timer(delegate { CreateProxy(name); }, null, RETRY_FAILED_PROXY, Timeout.Infinite);
                    }
                });*/
            }
            catch (Exception excp)
            {
                logger.Error("Exception CreateProxy (" + proxyName + "). " + excp.Message);
            }
        }