Collapse All Expand All | Language Filter: Visual Basic Language Filter: C#Language Filter: Visual C++Language Filter: JavaScript Visual Basic C# Visual C++ JavaScript | Members | See Also
.NET Framework Class Library
RemoteSessionPool Interface

BMXNET 4.0 Developer API

Each BMX connection to RPMS contains a single RemoteSessionPool with at least one Session, the primary session. Applications that need additional server processes beyond what can be done with async commands can used the RemoteSessionPool.

Access to the RemoteSessionPool is accomplished by implementing the RemoteSessionPoolConsumer interface on your component/control. Secondary sessions can be opened and closed as they are needed. If the AvailableSessionCount is zero then a null RemoteSession is returned so it is recommend to first check the if a pool HasAvailableSessions before an OpenSession() request.

RemoteSessionPool high-performance can be achieved by keeping RPMS server jobs alive even after secondary sessions are closed. The pool will maintain MaxSessions - 1 number of jobs alive on the server. If the application is finished for awhile needing IdleSessionCount idle jobs, then TerminateIdleSessions() will release those resources on the server. New jobs will then be created on demand.

Namespace: IndianHealthService.BMXNet
Assembly: BMXNET40 (in BMXNET40.dll)

# Syntax

| C# |  |  | Visual Basic |  |  | Visual C++ |

    public interface RemoteSessionPool

    Public Interface RemoteSessionPool

    public interface class RemoteSessionPool

# Members

| All Members |  |  | Properties |  |  | Methods |

Public Protected | Instance Static | Declared Inherited | XNA Framework Only .NET Compact Framework Only |

| Member | Description
--- | --- | ---
| AvailableSessionCount | The number of additional secondary RemoteSessions that can be opened.
| Close()()() |
| HasAvailableSession | True if another secondary session can be opened.
| IdleSessionCount |
| MaxSessions | The maximum number of RemoteSessions than can be opened
| OpenSession()()() | Open a RemoteSession and answer it. If an idle Session exists, it will be recycled and answered. Use Close() on the RemoteSession to release this secondary RemoteSession back to the pool.
| OpenSession(Log) | Open a new RemoteSession and answer it. If an idle Session exists, it will be recycled and answered. Use Close() on the RemoteSession to release this secondary RemoteSession back to the pool. An implementation of Log can be included to trace RPC execution.
| TerminateIdleSessions()()() |

# See Also

IndianHealthService.BMXNet Namespace