TRODLLChannel

From RemObjects Software

Jump to: navigation, search

This is a RemObjects SDK Architecture entry
Feel free to add your notes to this topic below.



Overview

TRODLLChannel implements a channel that talks to Services located in a local DLL file.

The server must be a .dll created using the DLL Server New Project Template.

File

  • uRODLLChannel'

Declaration

TRODLLChannel = class(TROTransportChannel, IROActiveEventChannel, IRODllEventCallback);

Hierarchy

Properties

Property
Type
Description
DispatchOptions TRODispatchOptions Configures the available fail-over and load balancing options provided by the RemObjects SDK.

By default, channels are set up to talk to one specific server only. Two independent options are available to provide fail-over and load balancing:

  • Enables fail-over support. If the connection to any given server fails, the channel will automatically keep trying the next server specified in ServerLocators, until a working server is found or all servers have been tried.
  • Enables load-balancing support. Each request dispatched through the channel will go to a different server configured in ServerLocators, resulting in calls being more or less equally distributed over the available servers.

Enabling any of these options obviously requires the server to be implemented in a stateless way, so that it does not depend on all requests from a client going to the same server. This implies using a class factory different from Per-Client and, if sessions are used, a session manager that allows sharing of session state between servers.

DLLHandle THandle The handle of the loaded server DLL, or 0 if no DLL is loaded.
DLLLoaded Boolean Indicates whether the server DLL is currently loaded.
DLLName String Specifies the name of the DLL that contains the server.

The name can be a fully qualified file name, or the name of a DLL in the processes search path.

KeepDLLLoaded Boolean Determines whether the DLL should be kept in memory once it was loaded (true, default), or if it should be unloaded after each request (false).

Set this property to false if you expect the DLL to be changed between requests.

ServerLocators TROServerLocatorCollection Optionally, this collection property can be filled to contain a list of possible servers to be used for fail-over or load balancing purposes.

Depending on the settings configured in DispatchOptions, the channel will automatically spread calls over the available servers, or fall back to another server if one fails.


Methods

Method
Description
UnloadDLL Forces an unload of the DLL.

Call this method manually if you need to change or update the DLL before the next call, or if you need to have it unloaded from the process.


Events

Event
Description
OnDLLLoaded Fires after the server DLL has been successfully loaded.
OnDLLUnloaded Fires after the server DLL has been successfully unloaded.


See Also


Product: RemObjects SDK
Current version: RemObjects SDK 'Vinci' (5.0)

ListsGlossaryFeaturesHow ToComponentsToolsSamplesArticlesArchitectureIssues

Personal tools