Извините, Джезелл, я не понимаю.
Да, я могу использовать ChannelFactory
на клиенте для создания прокси на IFactory
, поскольку этот одноэлементный объект был "опубликован" сервером через URI на ServiceHost
.
Но мои IFoo
экземпляры на сервере не были связаны ни с одним ServiceHost
; Я просто хочу получить их обратно, вызвав мой IFactory
прокси на клиенте, и позволить WCF сделать вызов серверу IFactory
, который предоставит некоторую IFoo
, которая затем будет перенаправлена обратно клиенту и обернута в динамически сгенерированный прокси. Я действительно просто хочу написать factory.GetFoo ();
на моем клиенте ...
Тем временем Брайан указал мне на очень интересный документ, который я пропустил в MSDN, в котором объясняется, как имитировать маршалинг интерфейса .NET Remoting с помощью сеансов и EndPointAddress10
и ... как вы писали, ChannelFactory
получить клиентские прокси.
Итак, теперь я знаю, как реплицировать мой код удаленного взаимодействия .NET, но за него приходится платить довольно высокую цену. Сложность кода, связанная с WCF, немного выше, чем с простым старым решением удаленного взаимодействия .NET.