The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.
BindingElement::BuildChannelListener<TChannel> Method (BindingContext^)
.NET Framework (current version)
Initializes a channel listener to accept channels of a specified type from the binding context.
Assembly: System.ServiceModel (in System.ServiceModel.dll)
public: generic<typename TChannel> where TChannel : ref class, IChannel virtual IChannelListener<TChannel>^ BuildChannelListener( BindingContext^ context )
Parameters
- context
-
Type:
System.ServiceModel.Channels::BindingContext^
The BindingContext that provides context for the binding element.
Return Value
Type: System.ServiceModel.Channels::IChannelListener<TChannel>^The IChannelListener<TChannel> of type IChannel initialized from the context.
Type Parameters
- TChannel
The type of channel the listener is built to accept.
| Exception | Condition |
|---|---|
| ArgumentNullException | context is null. |
CustomBinding binding = new CustomBinding(); HttpTransportBindingElement element = new HttpTransportBindingElement(); BindingParameterCollection parameters = new BindingParameterCollection(); Uri baseAddress = new Uri("http://localhost:8000/ChannelApp"); String relAddress = "http://localhost:8000/ChannelApp/service"; BindingContext context = new BindingContext(binding, parameters, baseAddress, relAddress, ListenUriMode.Explicit); IChannelListener<IReplyChannel> listener = element.BuildChannelListener<IReplyChannel>(context); listener.Open(); IReplyChannel channel = listener.AcceptChannel(); channel.Open(); RequestContext request = channel.ReceiveRequest(); Message msg = request.RequestMessage; Console.WriteLine("Message Received"); Console.WriteLine("Message Action: {0}", msg.Headers.Action); if (msg.Headers.Action == "hello") { Message reply = Message.CreateMessage(MessageVersion.Default, "wcf"); request.Reply(reply); } msg.Close(); channel.Close(); listener.Close();
.NET Framework
Available since 3.0
Available since 3.0
Show: