I have a WCF proxy generated at runtime with DuplexChannelFactory.
How can I access the binding information given only the service interface returned from DuplexChannelFactory?
I can get most stuff by casting to an IClientChannel, but I can’t seem to find binding info on there. The closest I can get is IClientChannel.RemoteAddress which is an endpoint, but that doesn’t seem to have binding info either. :-/
You can’t (directly). There are a few things which you can get from the channel, such as the message version (
channel.GetProperty<MessageVersion>()), and other values. But the binding isn’t one of those. The channel is created after the binding is “deconstructed” (i.e., expanded into its binding elements, while each binding element can add one more piece to the channel stack.If you want to have the binding information in the proxy channel, however, you can add it yourself, using one of the extension properties of the context channel. The code below shows one example of that.