Exemplo n.º 1
0
        /// <summary>
        /// Detach from the ProxyClientPool so that the ProxyClientPool can be reclaimed if nobody is referencing it
        /// </summary>
        /// <param name="proxyEpr">broker proxy endpoint address</param>
        private void DetachProxyClientPool(EndpointAddress proxyEpr)
        {
            ProxyClientPool clientPool = null;

            lock (LockProxyClientPoolDic)
            {
                if (ProxyClientPoolDic.TryGetValue(proxyEpr, out clientPool))
                {
                    clientPool.RefCount--;
                    if (clientPool.RefCount == 0)
                    {
                        ProxyClientPoolDic.Remove(proxyEpr);
                    }
                }
            }
        }