1 interface inheriting from IDuplexChannel
System.ServiceModel (1)
System\ServiceModel\Channels\IDuplexSessionChannel.cs (1)
8public interface IDuplexSessionChannel : IDuplexChannel, ISessionChannel<IDuplexSession>
10 implementations of IDuplexChannel
System.ServiceModel (6)
System\ServiceModel\Channels\DuplexChannel.cs (1)
11abstract class DuplexChannel : InputQueueChannel<Message>, IDuplexChannel
System\ServiceModel\Channels\InternalDuplexChannelListener.cs (1)
114sealed class ServerCompositeDuplexChannel : ChannelBase, IDuplexChannel
System\ServiceModel\Channels\LayeredChannelFactory.cs (1)
170class LayeredDuplexChannel : LayeredInputChannel, IDuplexChannel
System\ServiceModel\Channels\SecurityChannelFactory.cs (1)
704class SecurityDuplexChannel : SecurityOutputChannel, IDuplexChannel
System\ServiceModel\Channels\SecurityChannelListener.cs (1)
1021class SecurityDuplexChannel : SecurityInputChannel, IDuplexChannel
System\ServiceModel\Channels\TransactionChannelListener.cs (1)
501class TransactionDuplexChannelGeneric<TChannel> : TransactionReceiveChannelGeneric<TChannel>, IDuplexChannel
System.ServiceModel.Channels (1)
System\ServiceModel\Channels\UdpDuplexChannel.cs (1)
18abstract class UdpDuplexChannel : UdpChannelBase<Message>, IDuplexChannel
System.ServiceModel.Discovery (1)
System\ServiceModel\Discovery\DiscoveryClientDuplexChannel.cs (1)
11class DiscoveryClientDuplexChannel<TChannel> : DiscoveryClientOutputChannel<TChannel>, IDuplexChannel
System.ServiceModel.Routing (2)
System\ServiceModel\Channels\SynchronousSendBindingElement.cs (2)
220class SynchronousDuplexChannel : SynchronousDuplexChannelBase<IDuplexChannel>, IDuplexChannel
219 references to IDuplexChannel
System.ServiceModel (198)
System\ServiceModel\Channels\AsymmetricSecurityBindingElement.cs (1)
233bool isDuplexSecurity = !this.isCertificateSignatureBinding && (typeof(IDuplexChannel) == typeof(TChannel) || typeof(IDuplexSessionChannel) == typeof(TChannel));
System\ServiceModel\Channels\ChannelDemuxer.cs (11)
74if (channelType == typeof(IDuplexChannel)) 1161class DuplexChannelDemuxer : DatagramChannelDemuxer<IDuplexChannel, Message> 1187SingletonChannelListener<IDuplexChannel, DuplexChannel, Message> singletonListener = (SingletonChannelListener<IDuplexChannel, DuplexChannel, Message>)listener; 1207SingletonChannelListener<IDuplexChannel, DuplexChannel, Message> singletonListener = (SingletonChannelListener<IDuplexChannel, DuplexChannel, Message>)listener; 1213SingletonChannelListener<IDuplexChannel, DuplexChannel, Message> singletonListener = (SingletonChannelListener<IDuplexChannel, DuplexChannel, Message>)listener; 1222class DuplexChannelAcceptor : SingletonChannelAcceptor<IDuplexChannel, DuplexChannel, Message> 1249IDuplexChannel innerChannel; 1251public DuplexChannelWrapper(ChannelManagerBase channelManager, IDuplexChannel innerChannel)
System\ServiceModel\Channels\ChannelReliableSession.cs (1)
652else if (this.binder.Channel is IDuplexChannel)
System\ServiceModel\Channels\ChannelRequirements.cs (11)
69typeof(IDuplexChannel), 80typeof(IDuplexChannel), 92typeof(IDuplexChannel), 105typeof(IDuplexChannel), 119typeof(IDuplexChannel), 134typeof(IDuplexChannel), 146typeof(IDuplexChannel), 159typeof(IDuplexChannel), 173typeof(IDuplexChannel), 188typeof(IDuplexChannel), 222return (channelType == typeof(IDuplexChannel) ||
System\ServiceModel\Channels\ClientReliableChannelBinder.cs (8)
132if (type == typeof(IDuplexChannel)) 134return new DuplexClientReliableChannelBinder(to, via, (IChannelFactory<IDuplexChannel>)(object)factory, maskingMode, 320where TDuplexChannel : class, IDuplexChannel 335IDuplexChannel channel = this.Synchronizer.CurrentChannel; 347IDuplexChannel channel = this.Synchronizer.CurrentChannel; 410: DuplexClientReliableChannelBinder<IDuplexChannel> 413IChannelFactory<IDuplexChannel> factory, MaskingMode maskingMode, 434protected override bool HasSecuritySession(IDuplexChannel channel)
System\ServiceModel\Channels\DuplexChannel.cs (1)
55if (typeof(T) == typeof(IDuplexChannel))
System\ServiceModel\Channels\InternalDuplexBindingElement.cs (6)
87if (typeof(TChannel) != typeof(IDuplexChannel)) 101return typeof(TChannel) == typeof(IDuplexChannel) 111return typeof(TChannel) == typeof(IDuplexChannel) 154if (context.CanBuildInnerChannelFactory<IDuplexChannel>()) 179if (context.CanBuildInnerChannelListener<IDuplexChannel>()) 204if (binding.CanBuildChannelListener<IDuplexChannel>())
System\ServiceModel\Channels\InternalDuplexChannelFactory.cs (5)
10sealed class InternalDuplexChannelFactory : LayeredChannelFactory<IDuplexChannel> 51protected override IDuplexChannel OnCreateChannel(EndpointAddress address, Uri via) 75public IDuplexChannel CreateChannel(EndpointAddress address, Uri via, MessageFilter filter, int priority, bool usesUniqueHeader) 80public IDuplexChannel CreateChannel(EndpointAddress remoteAddress, Uri via, EndpointAddress localAddress, MessageFilter filter, int priority, bool usesUniqueHeader) 83IDuplexChannel newChannel = null;
System\ServiceModel\Channels\InternalDuplexChannelListener.cs (4)
9sealed class InternalDuplexChannelListener : DelegatingChannelListener<IDuplexChannel> 60this.Acceptor = (IChannelAcceptor<IDuplexChannel>)(object)new CompositeDuplexChannelAcceptor(this, (IChannelListener<IInputChannel>)this.InnerChannelListener); 101sealed class CompositeDuplexChannelAcceptor : LayeredChannelAcceptor<IDuplexChannel, IInputChannel> 108protected override IDuplexChannel OnAcceptChannel(IInputChannel innerChannel)
System\ServiceModel\Channels\OneWayBindingElement.cs (4)
103if (context.CanBuildInnerChannelFactory<IDuplexChannel>()) 139if (context.CanBuildInnerChannelListener<IDuplexChannel>()) 174if (context.CanBuildInnerChannelFactory<IDuplexChannel>()) 207if (context.CanBuildInnerChannelListener<IDuplexChannel>())
System\ServiceModel\Channels\OneWayChannelFactory.cs (6)
255IChannelFactory<IDuplexChannel> innnerFactory; 259: base(context.Binding, context.BuildInnerChannelFactory<IDuplexChannel>()) 261this.innnerFactory = (IChannelFactory<IDuplexChannel>)this.InnerChannelFactory; 267IDuplexChannel channel = this.innnerFactory.CreateChannel(address, via); 273IDuplexChannel innerChannel; 276public DuplexOutputChannel(DuplexOneWayChannelFactory factory, IDuplexChannel innerChannel)
System\ServiceModel\Channels\OneWayChannelListener.cs (8)
490IChannelListener<IDuplexChannel> innerChannelListener; 494: base(context.Binding, context.BuildInnerChannelListener<IDuplexChannel>()) 501this.innerChannelListener = (IChannelListener<IDuplexChannel>)this.InnerChannelListener; 507IDuplexChannel channel = this.innerChannelListener.AcceptChannel(timeout); 523IDuplexChannel channel = this.innerChannelListener.EndAcceptChannel(result); 537IInputChannel WrapInnerChannel(IDuplexChannel innerChannel) 549class DuplexOneWayInputChannel : LayeredChannel<IDuplexChannel>, IInputChannel 553public DuplexOneWayInputChannel(DuplexOneWayChannelListener listener, IDuplexChannel innerChannel)
System\ServiceModel\Channels\PeerChannelFactory.cs (4)
157PeerMessageDispatcher<IDuplexChannel, PeerDuplexChannel>.PeerMessageQueueAdapter queueHandler = new PeerMessageDispatcher<IDuplexChannel, PeerDuplexChannel>.PeerMessageQueueAdapter(duplexChannel); 158PeerMessageDispatcher<IDuplexChannel, PeerDuplexChannel> dispatcher = new PeerMessageDispatcher<IDuplexChannel, PeerDuplexChannel>(queueHandler, duplexChannel.InnerNode, this, to, via);
System\ServiceModel\Channels\PeerDuplexChannel.cs (3)
22PeerMessageDispatcher<IDuplexChannel, PeerDuplexChannel> messageDispatcher; 54internal PeerMessageDispatcher<IDuplexChannel, PeerDuplexChannel> Dispatcher 211this.securityProtocol = ((IPeerFactory)channelManager).SecurityManager.CreateSecurityProtocol<IDuplexChannel>(this.to, timeoutHelper.RemainingTime());
System\ServiceModel\Channels\PeerDuplexChannelListener.cs (6)
13sealed class PeerDuplexChannelAcceptor : SingletonChannelAcceptor<IDuplexChannel, PeerDuplexChannel, Message> 19PeerMessageDispatcher<IDuplexChannel, PeerDuplexChannel> dispatcher = null; 29PeerMessageDispatcher<IDuplexChannel, PeerDuplexChannel>.PeerMessageQueueAdapter queueHandler = new PeerMessageDispatcher<IDuplexChannel, PeerDuplexChannel>.PeerMessageQueueAdapter(this); 30this.dispatcher = new PeerMessageDispatcher<IDuplexChannel, PeerDuplexChannel>(queueHandler, peerNode, ChannelManager, localAddress, via); 75sealed class PeerDuplexChannelListener : PeerChannelListener<IDuplexChannel, PeerDuplexChannelAcceptor>
System\ServiceModel\Channels\PeerMessageDispatcher.cs (1)
66if (typeof(IDuplexChannel).IsAssignableFrom(typeof(ChannelInterfaceType)))
System\ServiceModel\Channels\PeerTransportBindingElement.cs (3)
249else if (typeof(TChannel) == typeof(IDuplexChannel)) 264|| typeof(TChannel) == typeof(IDuplexChannel)); 270|| typeof(TChannel) == typeof(IDuplexChannel));
System\ServiceModel\Channels\ReliableChannelFactory.cs (1)
188if (typeof(InnerChannel) == typeof(IDuplexChannel) || typeof(InnerChannel) == typeof(IDuplexSessionChannel))
System\ServiceModel\Channels\ReliableChannelListener.cs (4)
1284ReliableListenerOverDatagram<TChannel, TReliableChannel, IDuplexChannel, Message> 1294protected override IAsyncResult BeginTryReceiveItem(IDuplexChannel channel, AsyncCallback callback, object state) 1304protected override void EndTryReceiveItem(IDuplexChannel channel, IAsyncResult result, out Message item) 1314protected override void SendReply(Message reply, IDuplexChannel channel, Message item)
System\ServiceModel\Channels\ReliableSessionBindingElement.cs (12)
337else if (context.CanBuildInnerChannelFactory<IDuplexChannel>()) 340new ReliableChannelFactory<TChannel, IDuplexChannel>( 341this, context.BuildInnerChannelFactory<IDuplexChannel>(), context.Binding); 352else if (context.CanBuildInnerChannelFactory<IDuplexChannel>()) 355new ReliableChannelFactory<TChannel, IDuplexChannel>( 356this, context.BuildInnerChannelFactory<IDuplexChannel>(), context.Binding); 390|| context.CanBuildInnerChannelFactory<IDuplexChannel>(); 395|| context.CanBuildInnerChannelFactory<IDuplexChannel>(); 435else if (context.CanBuildInnerChannelListener<IDuplexChannel>()) 454else if (context.CanBuildInnerChannelListener<IDuplexChannel>()) 500|| context.CanBuildInnerChannelListener<IDuplexChannel>(); 505|| context.CanBuildInnerChannelListener<IDuplexChannel>();
System\ServiceModel\Channels\ReplyAdapterChannelListener.cs (10)
17where TInnerChannel : class, IDuplexChannel 80class ReplyOverDuplexChannelListener : ReplyOverDuplexChannelListenerBase<IReplyChannel, IDuplexChannel> 87protected override IReplyChannel CreateWrappedChannel(ChannelManagerBase channelManager, IDuplexChannel innerChannel) 108where TInnerChannel : class, IDuplexChannel 206IDuplexChannel innerChannel; 213public DuplexRequestContext(Message request, IDefaultCommunicationTimeouts defaultTimeouts, IDuplexChannel innerChannel) 302class ReplyOverDuplexChannel : ReplyOverDuplexChannelBase<IDuplexChannel> 304public ReplyOverDuplexChannel(ChannelManagerBase channelManager, IDuplexChannel innerChannel) 373else if ((typeof(TChannel) == typeof(IReplyChannel)) && context.CanBuildInnerChannelListener<IDuplexChannel>()) 393|| context.CanBuildInnerChannelListener<IDuplexChannel>());
System\ServiceModel\Channels\SecurityBindingElement.cs (7)
558return ((typeof(TChannel) == typeof(IDuplexSessionChannel)) && context.CanBuildInnerChannelListener<IDuplexChannel>() 686(this.SupportsDuplex && (typeof(TChannel) == typeof(IDuplexChannel) || typeof(TChannel) == typeof(IDuplexSessionChannel))) || 694|| context.CanBuildInnerChannelFactory<IDuplexChannel>() 706return (context.CanBuildInnerChannelFactory<IDuplexChannel>() || context.CanBuildInnerChannelFactory<IDuplexSessionChannel>()); 761(this.SupportsDuplex && (typeof(TChannel) == typeof(IDuplexChannel) || typeof(TChannel) == typeof(IDuplexSessionChannel))) || 770|| context.CanBuildInnerChannelListener<IDuplexChannel>() 782return (context.CanBuildInnerChannelListener<IDuplexChannel>() || context.CanBuildInnerChannelListener<IDuplexSessionChannel>());
System\ServiceModel\Channels\SecurityChannelFactory.cs (6)
211else if (typeof(TChannel) == typeof(IDuplexChannel)) 213return (TChannel)(object)new SecurityDuplexChannel(this, this.securityProtocolFactory, ((IChannelFactory<IDuplexChannel>)this.InnerChannelFactory).CreateChannel(address, via), address, via); 706public SecurityDuplexChannel(ChannelManagerBase factory, SecurityProtocolFactory securityProtocolFactory, IDuplexChannel innerChannel, EndpointAddress to, Uri via) 711internal IDuplexChannel InnerDuplexChannel 713get { return (IDuplexChannel)this.InnerChannel; } 904public ClientDuplexReceiveMessageAndVerifySecurityAsyncResult(SecurityDuplexChannel channel, IDuplexChannel innerChannel, TimeSpan timeout, AsyncCallback callback, object state)
System\ServiceModel\Channels\SecurityChannelListener.cs (8)
509else if (listener.SupportsDuplex && typeof(TChannel) == typeof(IDuplexChannel)) 511securityChannel = new SecurityDuplexChannel(listener, (IDuplexChannel)innerChannel, securityProtocol, listener.settingsLifetimeManager); 1023readonly IDuplexChannel innerDuplexChannel; 1025public SecurityDuplexChannel(ChannelManagerBase channelManager, IDuplexChannel innerChannel, SecurityProtocol securityProtocol, SecurityListenerSettingsLifetimeManager settingsLifetimeManager) 1041protected IDuplexChannel InnerDuplexChannel 1116((IDuplexChannel)this.InnerChannel).Send(faultMessage, timeout); 1872IDuplexChannel innerChannel; 1875public DuplexSessionReceiveMessageAndVerifySecurityAsyncResult(SecurityDuplexSessionChannel channel, IDuplexChannel innerChannel, TimeSpan timeout, AsyncCallback callback, object state)
System\ServiceModel\Channels\ServerReliableChannelBinder.cs (8)
191if (type == typeof(IDuplexChannel)) 226if (type == typeof(IDuplexChannel)) 228return new DuplexServerReliableChannelBinder((IDuplexChannel)channel, 663where TDuplexChannel : class, IDuplexChannel 693IDuplexChannel channel = this.Synchronizer.CurrentChannel; 769: DuplexServerReliableChannelBinder<IDuplexChannel> 779public DuplexServerReliableChannelBinder(IDuplexChannel channel, 800protected override bool HasSecuritySession(IDuplexChannel channel)
System\ServiceModel\Channels\ServiceChannel.cs (3)
442IDuplexChannel duplexChannel = this.InnerChannel as IDuplexChannel; 456return this.InnerChannel is IDuplexChannel;
System\ServiceModel\Channels\ServiceChannelFactory.cs (11)
87if (channelBuilder.CanBuildChannelFactory<IDuplexChannel>()) 89return new ServiceChannelFactoryOverDuplex(channelBuilder.BuildChannelFactory<IDuplexChannel>(), clientRuntime, 148if (type == typeof(IDuplexChannel) && customBinding.CanBuildChannelFactory<IDuplexChannel>(parameters)) 157return new ServiceChannelFactoryOverDuplex(customBinding.BuildChannelFactory<IDuplexChannel>(parameters), clientRuntime, binding); 215if (customBinding.CanBuildChannelFactory<IDuplexChannel>(parameters)) 217supportedChannels.Add(typeof(IDuplexChannel), 0); 517class ServiceChannelFactoryOverDuplex : TypedServiceChannelFactory<IDuplexChannel> 519public ServiceChannelFactoryOverDuplex(IChannelFactory<IDuplexChannel> innerChannelFactory, ClientRuntime clientRuntime, Binding binding) 533|| typeof(TChannel) == typeof(IDuplexChannel)); 611|| typeof(TChannel) == typeof(IDuplexChannel)
System\ServiceModel\Channels\TransactionChannelFactory.cs (5)
115else if (typeof(TChannel) == typeof(IDuplexChannel)) 117return (TChannel)(object)new TransactionDuplexChannel(this, (IDuplexChannel)(object)innerChannel); 146sealed class TransactionDuplexChannel : TransactionOutputDuplexChannelGeneric<IDuplexChannel> 148public TransactionDuplexChannel(ChannelManagerBase channelManager, IDuplexChannel innerChannel) 335where TChannel : class, IDuplexChannel
System\ServiceModel\Channels\TransactionChannelListener.cs (6)
108else if (typeof(TChannel) == typeof(IDuplexChannel)) 110return (TChannel)(object)new TransactionDuplexChannel(this.listener, (IDuplexChannel)innerChannel); 140sealed class TransactionDuplexChannel : TransactionInputDuplexChannelGeneric<IDuplexChannel> 142public TransactionDuplexChannel(ChannelManagerBase channelManager, IDuplexChannel innerChannel) 491where TChannel : class, IDuplexChannel 502where TChannel : class, IDuplexChannel
System\ServiceModel\Channels\TransactionFlowBindingElement.cs (2)
187|| typeof(TChannel) == typeof(IDuplexChannel) 274typeof(TChannel) == typeof(IDuplexChannel) ||
System\ServiceModel\Description\DispatcherBuilder.cs (9)
296if (!endpointTypes.Contains(typeof(IDuplexChannel))) 332supportedChannelTypes.Add(typeof(IDuplexChannel)); 354if (binding.CanBuildChannelListener<IDuplexChannel>()) 356setOfChannelTypesSupportedByBinding.Add(typeof(IDuplexChannel), 0); 427if (channelType == typeof(IDuplexChannel)) 429if (binding.CanBuildChannelListener<IDuplexChannel>(parameters)) 433result = binding.BuildChannelListener<IDuplexChannel>(listenUriBaseAddress, listenUriRelativeAddress, listenUriMode, parameters); 435return typeof(IDuplexChannel); 1160else if (supportedChannels[i] == typeof(IDuplexChannel))
System\ServiceModel\Dispatcher\DuplexChannelBinder.cs (6)
21IDuplexChannel channel; 35internal DuplexChannelBinder(IDuplexChannel channel, IRequestReplyCorrelator correlator) 44internal DuplexChannelBinder(IDuplexChannel channel, IRequestReplyCorrelator correlator, Uri listenUri) 51: this((IDuplexChannel)channel, correlator, listenUri) 675IDuplexChannel channel; 677internal DuplexRequestContext(IDuplexChannel channel, Message request, DuplexChannelBinder binder)
System\ServiceModel\Dispatcher\ListenerBinder.cs (6)
30IChannelListener<IDuplexChannel> duplex = listener as IChannelListener<IDuplexChannel>; 47IChannelListener<IDuplexChannel> listener; 50internal DuplexListenerBinder(IChannelListener<IDuplexChannel> listener, MessageVersion messageVersion) 69IDuplexChannel channel = this.listener.AcceptChannel(timeout); 83IDuplexChannel channel = this.listener.EndAcceptChannel(result);
System\ServiceModel\Security\NegotiationTokenAuthenticator.cs (1)
977typeof(IDuplexChannel),
System\ServiceModel\Security\SecuritySessionClientSettings.cs (5)
206else if (this.ChannelBuilder.CanBuildChannelFactory<IDuplexChannel>()) 208return this.ChannelBuilder.BuildChannelFactory<IDuplexChannel>(); 678else if (channelBuilder.CanBuildChannelFactory<IDuplexChannel>()) 680this.channelBinder = ClientReliableChannelBinder<IDuplexChannel>.CreateBinder(this.RemoteAddress, this.Via, (IChannelFactory<IDuplexChannel>)(object)this.Settings.InnerChannelFactory,
System\ServiceModel\Security\SecuritySessionSecurityTokenAuthenticator.cs (1)
1165typeof(IDuplexChannel),
System\ServiceModel\Security\SecuritySessionServerSettings.cs (4)
698else if (this.ChannelBuilder.CanBuildChannelListener<IDuplexChannel>()) 700return this.ChannelBuilder.BuildChannelListener<IDuplexChannel>(new MatchNoneMessageFilter(), int.MinValue); 750else if (this.ChannelBuilder.CanBuildChannelListener<IDuplexChannel>()) 752result = ServerReliableChannelBinder<IDuplexChannel>.CreateBinder(this.ChannelBuilder, remoteAddress, sctFilter, sctPriority, faultMode,
System.ServiceModel.Channels (11)
System\ServiceModel\Channels\UdpChannelBase.cs (1)
119if (typeof(T) == typeof(IDuplexChannel))
System\ServiceModel\Channels\UdpChannelFactory.cs (5)
24Fx.Assert(typeof(TChannel) == typeof(IOutputChannel) || typeof(TChannel) == typeof(IDuplexChannel), "this channel factory only supports IOutputChannel and IDuplexChannel"); 115if (typeof(TChannel) == typeof(IDuplexChannel)) 117UdpChannelFactory<IDuplexChannel> duplexChannelFactory = (UdpChannelFactory<IDuplexChannel>)(object)this; 280internal ClientUdpDuplexChannel(UdpChannelFactory<IDuplexChannel> factory, UdpSocket[] sockets, IPEndPoint remoteEndPoint, EndpointAddress localAddress, EndpointAddress to, Uri via, bool isMulticast)
System\ServiceModel\Channels\UdpChannelListener.cs (1)
729internal class UdpDuplexChannelListener : UdpChannelListener<IDuplexChannel, UdpDuplexChannel, Message>
System\ServiceModel\Channels\UdpDuplexChannel.cs (1)
42if (typeof(T) == typeof(IDuplexChannel))
System\ServiceModel\Channels\UdpTransportBindingElement.cs (3)
170if (typeof(TChannel) == typeof(IDuplexChannel)) 193return (typeof(TChannel) == typeof(IOutputChannel) || typeof(TChannel) == typeof(IDuplexChannel)); 206return (typeof(TChannel) == typeof(IDuplexChannel) || typeof(TChannel) == typeof(IReplyChannel));
System.ServiceModel.Discovery (5)
System\ServiceModel\Discovery\DiscoveryClientBindingElement.cs (1)
93|| typeof(TChannel) == typeof(IDuplexChannel)
System\ServiceModel\Discovery\DiscoveryClientChannelFactory.cs (3)
62else if (typeof(TChannel) == typeof(IDuplexChannel)) 64return (TChannel)(object)new DiscoveryClientDuplexChannel<IDuplexChannel>( 66(IChannelFactory<IDuplexChannel>)this.innerChannelFactory,
System\ServiceModel\Discovery\DiscoveryClientDuplexChannel.cs (1)
12where TChannel : class, IDuplexChannel
System.ServiceModel.Routing (5)
System\ServiceModel\Channels\SynchronousSendBindingElement.cs (5)
41if (typeofTChannel == typeof(IDuplexChannel) || 118else if (channelType == typeof(IDuplexChannel)) 120channel = (TChannel)(object)new SynchronousDuplexChannel(this, (IDuplexChannel)channel); 152where TChannel : class, IDuplexChannel 222public SynchronousDuplexChannel(ChannelManagerBase manager, IDuplexChannel innerChannel)