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); } } }
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); } }