Overview

For Component Enabler clients running on a web server, it might become important to limit the resource usage of individual clients so that greater numbers of clients can run on that server.

While each programmer can make sure that their client code is as efficient as possible, programmers have little control over the LINCEnvironment object that does all of the back-end communications with the Agile Business Suite System.

It is possible to pool (share) the LINCEnvironment object to use it more efficiently. By pooling the LINCEnvironment objects amongst the clients, you can reduce the total number of objects you need, therefore reducing the resources (particularly threads) used on the server. This is sometimes, inaccurately, referred to as 'connection pooling'.

This section focuses on objects being pooled in an IIS environment, in particular, within a virtual directory. This is the normal environment used for ASP forms. Much of the information is the same if you are not using ASP forms, except that extra coding is needed to release objects back to the pool when you have finished with them. How the objects are released is specific to the language your client is written in.

The information given here assumes you have already setup your IIS virtual directory ready for your forms. Refer to Using the ASP Generator for more information on how to do this.

Note: With the TCP/IP transport, object pooling should only be attempted for stateless systems. Note the extra steps necessary to use object pooling with the MSMQ transport and stateful systems