IInputChannel Interface
Defines the interface that a channel must implement to receive a message.
Assembly: System.ServiceModel (in System.ServiceModel.dll)
| Name | Description | |
|---|---|---|
![]() | LocalAddress | Gets the address on which the input channel receives messages. |
![]() | State | Gets the current state of the communication-oriented object.(Inherited from ICommunicationObject.) |
| Name | Description | |
|---|---|---|
![]() | Abort() | Causes a communication object to transition immediately from its current state into the closed state. (Inherited from ICommunicationObject.) |
![]() | BeginClose(AsyncCallback^, Object^) | Begins an asynchronous operation to close a communication object.(Inherited from ICommunicationObject.) |
![]() | BeginClose(TimeSpan, AsyncCallback^, Object^) | Begins an asynchronous operation to close a communication object with a specified timeout.(Inherited from ICommunicationObject.) |
![]() | BeginOpen(AsyncCallback^, Object^) | Begins an asynchronous operation to open a communication object.(Inherited from ICommunicationObject.) |
![]() | BeginOpen(TimeSpan, AsyncCallback^, Object^) | Begins an asynchronous operation to open a communication object within a specified interval of time.(Inherited from ICommunicationObject.) |
![]() | BeginReceive(AsyncCallback^, Object^) | Begins an asynchronous operation to receive a message that has a state object associated with it. |
![]() | BeginReceive(TimeSpan, AsyncCallback^, Object^) | Begins an asynchronous operation to receive a message that has a specified time out and state object associated with it. |
![]() | BeginTryReceive(TimeSpan, AsyncCallback^, Object^) | Begins an asynchronous operation to receive a message that has a specified time out and state object associated with it. |
![]() | BeginWaitForMessage(TimeSpan, AsyncCallback^, Object^) | Begins an asynchronous wait-for-a-message-to-arrive operation that has a specified time out and state object associated with it. |
![]() | Close() | Causes a communication object to transition from its current state into the closed state. (Inherited from ICommunicationObject.) |
![]() | Close(TimeSpan) | Causes a communication object to transition from its current state into the closed state. (Inherited from ICommunicationObject.) |
![]() | EndClose(IAsyncResult^) | Completes an asynchronous operation to close a communication object.(Inherited from ICommunicationObject.) |
![]() | EndOpen(IAsyncResult^) | Completes an asynchronous operation to open a communication object.(Inherited from ICommunicationObject.) |
![]() | EndReceive(IAsyncResult^) | Completes an asynchronous operation to receive a message. |
![]() | EndTryReceive(IAsyncResult^, Message^%) | Completes the specified asynchronous operation to receive a message. |
![]() | EndWaitForMessage(IAsyncResult^) | Completes the specified asynchronous wait-for-a-message operation. |
![]() | GetProperty<T>() | Returns a typed object requested, if present, from the appropriate layer in the channel stack.(Inherited from IChannel.) |
![]() | Open() | Causes a communication object to transition from the created state into the opened state. (Inherited from ICommunicationObject.) |
![]() | Open(TimeSpan) | Causes a communication object to transition from the created state into the opened state within a specified interval of time.(Inherited from ICommunicationObject.) |
![]() | Receive() | Returns the message received, if one is available. If a message is not available, blocks for a default interval of time. |
![]() | Receive(TimeSpan) | Returns the message received, if one is available. If a message is not available, blocks for a specified interval of time. |
![]() | TryReceive(TimeSpan, Message^%) | Tries to receive a message within a specified interval of time. |
![]() | WaitForMessage(TimeSpan) | Returns a value that indicates whether a message has arrived within a specified interval of time. |
| Name | Description | |
|---|---|---|
![]() | Closed | Occurs when the communication object completes its transition from the closing state into the closed state.(Inherited from ICommunicationObject.) |
![]() | Closing | Occurs when the communication object first enters the closing state.(Inherited from ICommunicationObject.) |
![]() | Faulted | Occurs when the communication object first enters the faulted state.(Inherited from ICommunicationObject.) |
![]() | Opened | Occurs when the communication object completes its transition from the opening state into the opened state.(Inherited from ICommunicationObject.) |
![]() | Opening | Occurs when the communication object first enters the opening state.(Inherited from ICommunicationObject.) |
The IInputChannel contract includes synchronous and asynchronous variants of receive, try-to-receive and wait-for-a-message functionality.
The pull model is used typically with an IInputChannel to receive messages: you call Receive (to "pull" a message out of the channel) and then wait for a message to arrive. An alternative usage pattern is to call BeginWaitForMessage(TimeSpan, AsyncCallback^, Object^) or BeginWaitForMessage(TimeSpan, AsyncCallback^, Object^), and then call Receive(TimeSpan). This approach is common for transactional usages where you start the transaction between the calls to WaitForMessage(TimeSpan) and Receive.
An IInputChannel is not necessarily bound to a single sender. Other channels and channel interfaces can provide a correlation between particular senders and an IInputChannel, but the base contract makes no such restriction. An implementation can create a new IInputChannel for each message or reuse the same IInputChannel for multiple messages and senders.
Available since 8
.NET Framework
Available since 3.0
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0


