ClientChannel Class
From RemObjects Software
This is a RemObjects SDK Architecture entry
Feel free to add your notes to this topic below.
Overview (.NET)
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 Interface. Though a Transport Channel component will typically descend from ClientChannel, this is not required, but all Transport Channels must implement IClientChannel.
Namespace
Declaration (C#)
public abstract class ClientChannel : Channel, IClientChannel;
Hierarchy
- System.ComponentModel.Component
- RemObjects.SDK.Channel
- RemObjects.SDK.ClientChannel
- RemObjects.SDK.Channel
Properties
| | | |
|---|---|---|
| Busy | Boolean | 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. |
Methods
| | |
|---|---|
| ClientChannel | Default constructor for ClientChannel. |
| 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. |
Events
| | |
|---|---|
| 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.
|
| 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. |
| 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). |
| 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. |
| 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. |
See Also
Product: RemObjects SDK
Current version: RemObjects SDK 'Vinci' (5.0)
Lists — Glossary — Features — How To — Components — Tools — Samples — Articles — Architecture — Issues
Categories: Text | RemObjects SDK | Architecture | Class | Component | .NET
