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); } } }
/// <summary> /// 创建通道 /// </summary> protected override void CreateChannel() { this.ProxyChannel = ProxyChannelFactory.CreateDuplexProxyChannel <TContract>(_instanceContext); }
protected virtual void CreateChannel() { _proxyChannel = ProxyChannelFactory.CreateProxyChannel <TContract>(_contract.HostName); }