我可以在Remoting中使用CAO接口吗?

在CAO中没有URI,因此必须在服务器端注册指定的类型。 但是如果我的客户端和服务器通过相同的接口(远程对象实现接口)进行交互,那么如何从客户端调用CAO远程对象。 如果我尝试使用接口类型调用Acitvator.CreateInstance,它会给我exception。 例如

RemoteObject.IRemoteObject obj = (RemoteObject.IRemoteObject )Activator.CreateInstance(typeof(RemoteObject.IRemoteObject), null, url); 

上面的代码抛出exception。

我不确定我是否可以针对您的实际问题发布解决方案。 但是,我可以解释为什么你发布的代码会引发exception。 您正在尝试创建接口类型的实例。 这是不可能的,接口不包含任何实现。 一般来说,我相信你想要做的是创建远程对象类型并将其强制转换为你想要使用的接口(假设对象实现了接口)。

您可能需要考虑使用本MSDN文章使用客户端激活的对象实现.NET Remoting实现代理中概述的技术。 此模式使用SAO工厂创建CAO。

我在工作中使用了这种技术,效果很好。