从WCF服务返回接口

Pie*_*aud 6 wcf remoting user-interface return

我有一些.NET远程代码,其中一个工厂方法,在一些服务器端类中实现,返回到具体对象的接口,也在同一台服务器上执行..NET远程处理自动创建代理,并允许我将接口传递给客户端,然后客户端可以直接调用它们.

示例接口:

public interface IFactory
{
    IFoo GetFoo();
}

public interface IFoo
{
    void DoSomething();
}
Run Code Online (Sandbox Code Playgroud)

示例客户端代码:

...
IFactory factory = (IFactory) System.Activator.GetObject (typeof (IFactory), url);
...
IFoo foo = factory.GetFoo ();  // the server returns an interface; we get a proxy to it
foo.DoSomething ();
...
Run Code Online (Sandbox Code Playgroud)

一切都很好.但是,现在我正在尝试将我的代码迁移到WCF.我想知道是否有一种方法来传递接口并让WCF在客户端上动态生成代理,就像原始的.NET远程处理一样.

而且我不想返回类实例,因为我不想暴露真正的类.并且序列化完整实例并在服务器和客户端之间来回发送也不是一种选择.我真的只是希望客户端通过接口指针/代理与服务器对象通信.

有任何想法吗?