﻿<?xml version="1.0" encoding="utf-8"?><Type Name="IChannelListener&lt;TChannel&gt;" FullName="System.ServiceModel.Channels.IChannelListener&lt;TChannel&gt;"><TypeSignature Language="C#" Value="public interface IChannelListener&lt;TChannel&gt; : System.ServiceModel.Channels.IChannelListener where TChannel : class, IChannel" /><TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IChannelListener`1&lt;class (class System.ServiceModel.Channels.IChannel) TChannel&gt; implements class System.ServiceModel.Channels.IChannelListener, class System.ServiceModel.ICommunicationObject" /><AssemblyInfo><AssemblyName>System.ServiceModel</AssemblyName><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><TypeParameters><TypeParameter Name="TChannel"><Constraints><ParameterAttribute>ReferenceTypeConstraint</ParameterAttribute><InterfaceName>System.ServiceModel.Channels.IChannel</InterfaceName></Constraints></TypeParameter></TypeParameters><Interfaces><Interface><InterfaceName>System.ServiceModel.Channels.IChannelListener</InterfaceName></Interface></Interfaces><Docs><typeparam name="TChannel">To be added.</typeparam><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>Listener factories that implement the <see cref="T:System.ServiceModel.Channels.IChannelListener" /> or <see cref="T:System.ServiceModel.Channels.IChannelListener`1" /> interfaces provide services with the mechanisms used to accept the channels produced by clients that initiate and enable communication with a service.</para><para>Implementing the <see cref="T:System.ServiceModel.Channels.IChannelListener`1" /> contract allows users to accept multiple channels of a given type without having to specify the channel type each time. In other words, defining the channel type as a generic parameter for the <see cref="T:System.ServiceModel.Channels.IChannelListener`1" /> interface means that it is not necessary to pass the type into the <see cref="Overload:System.ServiceModel.Channels.IChannelListener`1.AcceptChannel" /> methods. If users want to accept different channel types, they can create additional channel listeners for each type of channel required.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Defines the interface that must be implemented by channel listeners to accept type-specific channels.</para></summary></Docs><Members><Member MemberName="AcceptChannel"><MemberSignature Language="C#" Value="public TChannel AcceptChannel ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance !TChannel AcceptChannel() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>TChannel</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>It is recommended that the <see cref="M:System.ServiceModel.Channels.IChannelListener`1.AcceptChannel(System.TimeSpan)" /> overload with the explicit timeout be used. The <paramref name="timeout" /> specified for that method overrides any default timeouts set by the system for the service.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Accepts a channel of a specified type for communication with a client.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A channel of type <paramref name="TChannel" /> accepted by the listener.</para></returns></Docs></Member><Member MemberName="AcceptChannel"><MemberSignature Language="C#" Value="public TChannel AcceptChannel (TimeSpan timeout);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance !TChannel AcceptChannel(valuetype System.TimeSpan timeout) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>TChannel</ReturnType></ReturnValue><Parameters><Parameter Name="timeout" Type="System.TimeSpan" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>It is recommended that this overload with an explicit timeout be used rather than the <see cref="M:System.ServiceModel.Channels.IChannelListener`1.AcceptChannel" />. The <paramref name="timeout" /> specified for this method overrides any default timeouts set by the system for the service.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Accepts a channel of a specified type for communication with a client within a specified interval of time.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A channel of type <paramref name="TChannel" /> accepted by the listener.</para></returns><param name="timeout"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Timespan" /> that specifies how long the wait for a channel operation has to complete before timing out.</param></Docs></Member><Member MemberName="BeginAcceptChannel"><MemberSignature Language="C#" Value="public IAsyncResult BeginAcceptChannel (AsyncCallback callback, object state);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.IAsyncResult BeginAcceptChannel(class System.AsyncCallback callback, object state) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.IAsyncResult</ReturnType></ReturnValue><Parameters><Parameter Name="callback" Type="System.AsyncCallback" /><Parameter Name="state" Type="System.Object" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>It is recommended that the <see cref="M:System.ServiceModel.Channels.IChannelListener`1.BeginAcceptChannel(System.TimeSpan,System.AsyncCallback,System.Object)" /> overload with the explicit timeout be used. The <paramref name="timeout" /> specified for that method overrides any default timeouts set by the system for the service.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Begins an asynchronous operation to accept a channel.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="T:System.IAsyncResult" /> that references the asynchronous acceptance of a channel operation. </para></returns><param name="callback"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.AsyncCallback" /> delegate that receives the notification of the asynchronous completion of the accept for a channel operation.</param><param name="state"><attribution license="cc4" from="Microsoft" modified="false" />An object, specified by the application, that contains state information associated with the asynchronous accept for a channel operation.</param></Docs></Member><Member MemberName="BeginAcceptChannel"><MemberSignature Language="C#" Value="public IAsyncResult BeginAcceptChannel (TimeSpan timeout, AsyncCallback callback, object state);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.IAsyncResult BeginAcceptChannel(valuetype System.TimeSpan timeout, class System.AsyncCallback callback, object state) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.IAsyncResult</ReturnType></ReturnValue><Parameters><Parameter Name="timeout" Type="System.TimeSpan" /><Parameter Name="callback" Type="System.AsyncCallback" /><Parameter Name="state" Type="System.Object" /></Parameters><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>It is recommended that this overload with an explicit timeout be used rather than the <see cref="M:System.ServiceModel.Channels.IChannelListener`1.BeginAcceptChannel(System.TimeSpan,System.AsyncCallback,System.Object)" />. The <paramref name="timeout" /> specified for this method overrides any default timeouts set by the system for the service.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Begins an asynchronous operation to accept a channel within a specified interval of time.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>The <see cref="T:System.IAsyncResult" /> that references the asynchronous acceptance of a channel operation. </para></returns><param name="timeout"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.Timespan" /> that specifies how long the wait for a channel operation has to complete before timing out.</param><param name="callback"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.AsyncCallback" /> delegate that receives the notification of the asynchronous completion of the accept for a channel operation.</param><param name="state"><attribution license="cc4" from="Microsoft" modified="false" />An object, specified by the application, that contains state information associated with the asynchronous accept for a channel operation.</param></Docs></Member><Member MemberName="EndAcceptChannel"><MemberSignature Language="C#" Value="public TChannel EndAcceptChannel (IAsyncResult result);" /><MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance !TChannel EndAcceptChannel(class System.IAsyncResult result) cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>TChannel</ReturnType></ReturnValue><Parameters><Parameter Name="result" Type="System.IAsyncResult" /></Parameters><Docs><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Completes an asynchronous operation to accept a channel.</para></summary><returns><attribution license="cc4" from="Microsoft" modified="false" /><para>A channel of type <paramref name="TChannel" /> accepted by the listener.</para></returns><param name="result"><attribution license="cc4" from="Microsoft" modified="false" />The <see cref="T:System.IAsyncResult" /> returned by a call to the <see cref="Overload:System.ServiceModel.Channels.IChannelListener`1.BeginAcceptChannel" /> method.</param></Docs></Member></Members></Type>