Amshea, thnks for your reply. the doubt which i have is-
Fo eg. I have Interface ITest which is in ITestObj.dll and RemoteObject(which is registered as SAO) Test which implements ITest in a server called RemoteObject.dll. Now my client just uses ITestObj.dll and try to create the proxy object using Activator.GetObject method. As per MSDN- GetObject or new can be used for server activation. It is important to note that the remote object is not instantiated when either of these calls is made. As a matter of fact, no network calls are generated at all. The framework obtains enough information from the metadata to create the proxy without connecting to the remote object at all.
How come Activator.GetObject can create an instance of Test and give it as a type of Itest to the client wihtout connecting to server(because client doesn't know that there is a test class exist bcoz it has only the interface)?
If i m not wrong proxy contains referenc of remote object so how come it can contain refernce of remote object untill n unless it is not connetced?
One more thing i found is tht
RemoteObject.IRemoteObject obj = (RemoteObject.IRemoteObject)Activator.GetObject(typeof(RemoteObject.IRemoteObject), "http://localhost:8080/TestCalc/MyCalc");
In above example even if i pass someother class called Calc which is in RemoteObject dll ,it is stil able to create a correct proxy and call the method which is exposed by interface IRemoteObject.Please note that Calc is just an another class n it doesn't implement IRemoteObject.My only doubt is wat is the need to pass the type in above method?