Mam trochę kodu .NET, gdzie metoda fabryczna, zaimplementowana w niektórych klasach po stronie serwera, zwraca interfejsy do konkretnych obiektów, również wykonywane na tym samym serwerze. .NET remoting automagicznie tworzy serwery proxy i pozwala mi przekazywać interfejsy do klienta, który może następnie wywoływać je bezpośrednio.Zwracanie interfejsu z usługi WCF
Przykład interfejsy:
public interface IFactory
{
IFoo GetFoo();
}
public interface IFoo
{
void DoSomething();
}
Przykład kodu klienta:
...
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();
...
To wszystko działa świetnie. Jednak teraz próbuję przenieść mój kod do WCF. Zastanawiam się, czy istnieje sposób na przekazywanie interfejsów i czy WCF generuje serwery proxy w locie na kliencie, podobnie jak oryginalne .NET.
I nie chcę zwracać wystąpień klas, ponieważ nie chcę ujawniać prawdziwych klas. Również serializacja pełnej instancji i wysyłanie jej między serwerem a klientem również nie jest opcją. Po prostu chcę, aby klient rozmawiał z obiektem serwera za pośrednictwem wskaźnika interfejsu/serwera proxy.
Wszelkie pomysły?