Note for Mono:

    For this demo to work properly using Mono on Linux, you must
    configure Linux to recognize Mono binaries. Configuration
    instructions are provided in INSTALL.MONO at the top level of the
    Ice for C# source distribution or, in README at the top level of
    the Ice binary distribution (in /usr/share/doc/Ice-3.2.1 if you
    have installed Ice from RPMs).

    Alternatively, if you do not want to reconfigure your kernel, or
    if you want to run with Mono under Windows, edit
    application-single.xml or application-multiple.xml
    and change the server element to read:

    <server id="AllocateServer" exe="mono" activation="on-demand">
      <option>./server.exe</option>

    Note that the server executable is "mono", and that the actual
    server executable is passed as an argument to the Mono
    interpreter.

To run the demo, first start the IceGrid service:

$ icegridnode --Ice.Config=config.grid

This demo contains two application descriptor files. The first
descriptor, application-single.xml, contains a single server and
object. This object is allocated by the client using the
allocateObjectById operation. Only one client can access this object
at a time. All other clients will hang until the object is released.
Use the following command to deploy this descriptor:

$ icegridadmin --Ice.Config=config.grid -e \
    "application add 'application-single.xml'"

The second descriptor, application-multiple.xml, contains two servers,
each with an object. The clients retrieve these objects using
allocateObjectByType. Since there are two objects available, two
clients can get access simultaneously. Additional clients will hang
until one of the clients with an allocated object releases it. Use the
following command to deploy this descriptor:

$ icegridadmin --Ice.Config=config.grid -e \
    "application add 'application-multiple.xml'"

To run the client type:

$ client.exe

If you have already deployed the application, you can update it to try
a different set of descriptors, for example:

$ icegridadmin --Ice.Config=config.grid -e \
    "application update 'application-multiple.xml'"

Messages will be displayed in the IceGrid service window.
