我有一些 .NET 远程处理代码,其中在某些服务器端类中实现的工厂方法返回具体对象的接口,也在同一台服务器上执行。.NET 远程自动创建代理并允许我将接口传递给客户端,然后客户端可以直接调用它们。
示例接口:
public interface IFactory
{
IFoo GetFoo();
}
public interface IFoo
{
void DoSomething();
}
示例客户端代码:
...
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 ();
...
这一切都很好。但是,现在我正在尝试将我的代码迁移到 WCF。我想知道是否有一种方法可以传递接口并让 WCF 在客户端动态生成代理,就像原始的 .NET 远程处理一样。
而且我不想返回类实例,因为我不想公开真实的类。并且序列化完整实例并在服务器和客户端之间来回发送它也不是一种选择。我真的只是希望客户端通过接口指针/代理与服务器对象交谈。
有任何想法吗?