ClientChannel Class (.NET)

This is a Library topic for RemObjects SDK for .NET
This page is generated from external data, please do not update
Namespaces — Interfaces — Classes — Enums — Implements
Contents |
Overview
The ClientChannel abstract component serves as a base class for implementing a custom RemObjects SDK Transport Channel component by providing a common base-implementation of the IClientChannel. Though a Transport Channel component will typically descend from ClientChannel, this is not required, but all Transport Channels must implement IClientChannel.
Location
- Assembly: RemObjects.SDK.dll
- Namespace: RemObjects.SDK
- Ancestry: System.ComponentModel.Component | Channel | ClientChannel | Descendants
Implemented interfaces
Constants
| URL_SCHEMES_NOT_SUPPORTED protected |
|---|
|
|
Properties
| Busy |
|---|
|
Busy is true if the transport channel is currently busy with an operation. Otherwise Busy is false. By default, if the transport channel is busy, it will not attempt to process another request and a ChannelBusyException exception is raised if you try to do so.
|
| HasAfterReceiveStream protected (declared in Channel) |
|
|
| HasBeforeSendStream protected (declared in Channel) |
|
|
| HasOnTransferProgress protected |
|
|
| TargetUri |
|
|
| TargetUrl |
|
|
Class Methods
| BuildTargetUri protected |
|---|
|
|
| ChannelMatchingTargetUri (String): IClientChannel |
|
|
| ChannelMatchingTargetUri (Uri): IClientChannel |
|
|
Instance Methods
| constructor protected |
|---|
|
Creates a new instance of the ClientChannel class.
|
| AsyncDispatch |
|
|
| BeforeDispatch protected |
|
|
| BeginDispatch (IMessage, AsyncCallback, Boolean, Object): IClientAsyncResult protected |
|
|
| BeginDispatch (IMessage, AsyncCallback, Object): IClientAsyncResult |
|
|
| CheckChannelBusy protected |
|
|
| Clone |
|
|
| CopyProperties (Channel) protected (declared in Channel) |
|
|
| CopyProperties (ClientChannel) protected |
|
|
| Dispatch |
|
The implementation of IClientChannel.Dispatch. This method ensures the transport is not busy before calling IntDispatch and passing the given IMessage. If the transport is busy, a ChannelBusyException is thrown.
|
| EndDispatch |
|
|
| IntDispatch protected |
|
|
| TriggerAfterReceiveStream protected (declared in Channel) |
|
|
| TriggerBeforeSendStream protected (declared in Channel) |
|
|
| TriggerOnException protected |
|
|
| TriggerOnLoginNeeded protected |
|
|
| TriggerOnTransferEnd protected |
|
|
| TriggerOnTransferProgress protected |
|
|
| TriggerOnTransferStart protected |
|
|
Events
| AfterReceiveStream (declared in Channel) |
|---|
|
This event is triggered by client and server channels directly after a request or response stream has been received and before the stream gets parsed into a message. User code can assign handlers to this event to process, inspect or modify incoming messages, before they get handled by the RemObjects SDK framework. The passed Stream is a MemoryStream and may be modified. If no handlers are assigned to the AfterReceiveStream event, the message will load the data directly from the incoming medium (usually the network stream); assigning event handlers to AfterReceiveStream will induce a slight overhead as the data will first be copied into a local memory buffer for the event handler. This should not have any noticeably effect except for very large messages or on resource-limited systems such as Compact Framework Clients, but if utmost performance is important, take this note into consideration.
C#: event StreamEventHandler AfterReceiveStream VB: Event AfterReceiveStream As StreamEventHandler
|
| BeforeSendStream (declared in Channel) |
|
This event is triggered by client and server channels directly before a request or response stream will be sent over the network. User code can assign handlers to this event to process, inspect or modify incoming messages before they get sent out to the remote system. The passed Stream is a MemoryStream and may be modified.
C#: event StreamEventHandler BeforeSendStream VB: Event BeforeSendStream As StreamEventHandler
|
| OnException |
|
This event is raised if an exception occurs during the execution of a remote request through the channel. The event will be raised both for exceptions originating from the server and for exceptions during communication (such as unavailability of the server). Attach a handler to this event to do custom handling of events without having to reply on explicit try/catch blocks in the calling code.
C#: event RequestExceptionEventHandler OnException VB: Event OnException As RequestExceptionEventHandler
|
| OnLoginNeeded |
|
This event is raised if an SessionNotFoundException occurs during the execution of a remote request through the channel. The event gives you the opportunity to perform a login on the server (for example by calling a custom Login method, and then retry the call by setting the EventArgs' LoginSuccessful property to true. This way, your client can recover from a timed-out session to automatically logging in again, without the calling code having to consider the handling of SessionNotFoundExceptions manually.
C#: event LoginNeededEventHandler OnLoginNeeded VB: Event OnLoginNeeded As LoginNeededEventHandler
|
| OnTransferEnd |
|
This event is triggered by the client channel after a transfer is completed (either the sending of a request or the receiving of a response).
C#: event TransferEndEventHandler OnTransferEnd VB: Event OnTransferEnd As TransferEndEventHandler
|
| OnTransferProgress |
|
This event is triggered by the client channel during a transfer (either the sending of a request or the receiving of a response) whenever a new block of data has been sent or received.
C#: event TransferProgressEventHandler OnTransferProgress VB: Event OnTransferProgress As TransferProgressEventHandler
|
| OnTransferStart |
|
This event is triggered by the client channel when a transfer (either the sending of a request or the receiving of a response) is about to be started.
C#: event TransferStartEventHandler OnTransferStart VB: Event OnTransferStart As TransferStartEventHandler |
Descendants
- IpClientChannel
- LocalClientChannel
- NamedPipeClientChannel
- SuperHttpClientChannel
- SuperTcpClientChannel
- WinInetHttpClientChannel
See Also
- ClientChannel Class
- .NET
- Java
- Lists
- RemObjects SDK for .NET: Namespaces — Interfaces — Classes — Enums — Implements
- RemObjects SDK shared: Data Types – File Types
- other editions
- RemObjects SDK for Xcode: Protocols — Classes — Enums — Aliases — Implements
- RemObjects SDK for Delphi: Interfaces — Classes — Aliases — Implements
- RemObjects SDK for Java: Namespaces — Interfaces — Classes — Enums — Implements
- RemObjects SDK for JavaScript: Objects

Product: RemObjects SDK
Available Editions: RemObjects SDK for .NET, Xcode, Delphi, Java and JavaScript