IIS configuration
This tutorial describes how to perform various configurations of the Microsoft Internet Information Services (IIS).
The tutorial will be based on the settings needed for the jsonRpcService_isApi in the webRPC example directory, but most of these things will be relevant and easily adjusted to other related cases.
The jsonRpcService_isApi project creates is an ISAPI plug-in (dll), which implements a JSON-RPC service. The example also contains some related HTML, CSS and JavaScript files that must be accessible to the client browser. So the IIS needs to be configured for two purposes:
- A file provider
- An ISAPI service
All IIS configuration takes place in the Internet Information Services Manager.
Application Pool
The ISAPI service must run in a suitable Application Pool. Application Pools provide process isolation between various parts of the IIS, which gives the following advantages:
- It makes the overall IIS more robust as problem in one application pool is less likely to have impact on the other application pools (exhausting the entire system will of course cross interfere)
- Each pool can have different settings (of for example .net platform)
- Each pool can be restarted independent of the other pools
To create an application pool, select "Add Application Pool..." in the context menu on the Application Pools. Pools suitable for Visual Prolog programs, does not require any .net platform, and it is recommended to have no .net support at all to minimize the interference risks. You give it a name and (unless you for other reasons need it) select "No Managed Code" (the rest you leave as it is):
Notice that by default (on a 64 bit platform) the application pool cannot run 32 bit programs, so you may need to switch this "Advanced Setting" on: