The latest version of the CSO Gateway is a BETA version. It suffers from many limitations. The most important ones are listed in this section.
This section contains the following subsections.
- Object uniqueness not respected by the Object Gateway
- Cannot specify additional dependency for types having an extension file
- The Importer cannot deal with circular reference of type-defining-scripts
Object uniqueness not respected by the Object Gateway
Even within a single ObjectGateway control, if there are two different path inside the object compostion graph by which an object can be reach, the object will end up being duplicated on the client.
Finally if there is a cycle in the object composition graph, the Object Gateway will go in an infinite loop resulting in a StackOverflowException.
Cannot specify additional dependency for types having an extension file
Right now there is no way to inform to Importer component of these additional dependencies.
The Importer cannot deal with circular reference of type-defining-scripts
On the server-side, two classes in the same namespace can create instances of each other. In the CSO Gateway, the extension files functionnality could be used to do the same. Right now the Importer is not aware of dependencies created by what the code inside extension files does. But even if it was, it wouldn't be able to deal with it. Each script needs to other one to evaluated first and there is no easy solution.
This seems to be more of a scripting languages limitation than a limitation with the CSO Gateway. It is not certain that this problem will ever be resolved.