private void UnregisterCallbackInternal <TContract>(ContractInfo contract) where TContract : class
 {
     lock (_proxyChannelManagerContainerLocker)
     {
         object channelObj;
         if (_proxyChannelManagerContainer.TryGetValue(contract.Key, out channelObj))
         {
             _proxyChannelManagerContainer.Remove(contract.Key);
             ProxyChannelFactory.CloseChannel(channelObj as IChannel);
         }
     }
 }
Example #2
0
 /// <summary>
 /// 创建通道
 /// </summary>
 protected override void CreateChannel()
 {
     this.ProxyChannel = ProxyChannelFactory.CreateDuplexProxyChannel <TContract>(_instanceContext);
 }
 protected virtual void CreateChannel()
 {
     _proxyChannel = ProxyChannelFactory.CreateProxyChannel <TContract>(_contract.HostName);
 }