Skip to content

Execution

When your web service (or page) is invoked, ASP.NET requests an instance of the corresponding class from the assembly (DLL) that was created when it was compiled. The first time this happens for any Dyalog web service or web page, the Dyalog DLL is loaded into the ASP.NET host process and the namespace corresponding to your web service class is )COPYed from the assembly. The Dyalog DLL then delivers an instance of this namespace to the client (calling) process. See Implementation Details for further details.

In general, every call on a method in a web service causes a new instance of the web server class to be created. If you need to maintain/update variables between calls, you need to write them to permanent storage.

If a client invokes a different Dyalog web service or web page, its class is )COPYed from its assembly into the workspace managed by the Dyalog DLL. When you export a class, you can select an isolation mode. The isolation mode selected has implications for the way that you access and manage global resources such as component files. For example, the isolation mode can specify that each host process has a single workspace, or that each AppDomain or each assembly has its own workspace. In this context, workspace is synonymous with Dyalog process – each workspace is managed by a separate process running dyalog.dll. If each host process has its own workspace, then all Dyalog web services (and web pages) hosted by the IIS host process share the same workspace when they are invoked.