Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Because the type information of a remote type is required by the client, it is often easiest to simply deploy the remote type library on the client for use as a metadata library. However, in many cases you will not want any client to have access to the implementation of the type. There are a number of ways to solve this problem:
Build a solitary client using the Soapsuds tool (Soapsuds.exe) as described in the topic Solitary Clients. This works only with an HttpChannel object.
Deploy a metadata-only assembly on the client with the same name and type information as the server assembly, and disable version checking or leave versions blank.
Declare an interface in a separate library and deploy that library with the client. Publish a server class that implements your interface; the client will be able to use the class by acquiring a proxy to the interface that it implements.
Note The client will have to call the Activator.GetObject method to acquire the proxy. Calling new (New in Visual Basic) will throw a compile-time error; you cannot create an instance of an interface.
Build a remotable wrapper class for the real class. Publish and deploy the wrapper library. The client will have no access to the real object.