|
|
@ -42,6 +42,17 @@ public class ChannelPool : IChannelPool, ISingletonDependency |
|
|
|
|
|
|
|
|
poolItem.Acquire(); |
|
|
poolItem.Acquire(); |
|
|
|
|
|
|
|
|
|
|
|
if (poolItem.Channel.IsClosed) |
|
|
|
|
|
{ |
|
|
|
|
|
Channels.TryRemove(channelName, out _); |
|
|
|
|
|
poolItem = Channels.GetOrAdd( |
|
|
|
|
|
channelName, |
|
|
|
|
|
_ => new ChannelPoolItem(CreateChannel(channelName, connectionName)) |
|
|
|
|
|
); |
|
|
|
|
|
|
|
|
|
|
|
poolItem.Acquire(); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
return new ChannelAccessor( |
|
|
return new ChannelAccessor( |
|
|
poolItem.Channel, |
|
|
poolItem.Channel, |
|
|
channelName, |
|
|
channelName, |
|
|
|