В CAO нет URI, поэтому указанный тип должен быть зарегистрирован на стороне сервера. Но если мой клиент и сервер взаимодействуют через один и тот же интерфейс (удаленный объект реализует интерфейс), то как я могу вызвать удаленный объект CAO с клиентской стороны. Это дает мне исключение, если я пытаюсь вызвать Acitvator.CreateInstance, используя тип интерфейса. например,
RemoteObject.IRemoteObject obj = (RemoteObject.IRemoteObject )Activator.CreateInstance(typeof(RemoteObject.IRemoteObject), null, url);
выше исключает код.
Возможно, вам захочется рассмотреть технику, описанную в этой статье MSDN Реализация брокера с удалением .NET с использованием клиентских объектов. Этот шаблон использует SAO factory для создания CAO.
Я использовал эту технику на работе, и она работает хорошо.
Я не уверен, что смогу опубликовать решение вашей актуальной проблемы. Однако я могу объяснить, почему код, который вы опубликовали, выдает исключение. Вы пытаетесь создать экземпляр типа интерфейса. Этого не может быть сделано, интерфейс не содержит реализации. В общем, я считаю, что вы хотите создать тип удаленного объекта и передать его интерфейсу, который вы хотите использовать (при условии, что объект реализует интерфейс).