我有一些.NET遠程代碼,其中在某些服務器端類中實現的工廠方法將接口返回到具體對象,也在同一服務器上執行。 .NET遠程處理自動創建代理,並允許我將接口傳遞給客戶端,客戶端可以直接調用它們。從WCF服務返回接口
實例接口:
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遠程處理一樣。
而且我不想返回類實例,因爲我不想公開實際的類。並且序列化完整實例並在服務器和客戶端之間來回發送也不是一種選擇。我真的只想讓客戶端通過接口指針/代理與服務器對象通信。
任何想法?