WCF Duplex - Как найти URL обратного вызова клиента? - PullRequest
2 голосов
/ 01 октября 2010

Как найти URL обратного вызова клиента для дуплексной привязки HTTP из службы (WCF 3.5)?

Ценю любую помощь.

Ответы [ 2 ]

5 голосов
/ 01 октября 2010

Чтобы получить обратный вызов клиенту в дуплексном канале, вы должны выполнить метод, который был вызван в службе, которую вы бы назвали

OperationContext.Current.GetCallbackChannel<ICallbackContract>();

, где ICallbackContract заменяется фактическим именем контракта обратного вызова.

Edit: Не уверен, что вы подразумеваете под фразой «Обратный звонок клиента». Если вы имеете в виду адрес клиента, который можно получить через:

EndpointAddress clientAddress = OperationContext.Current.Channel.RemoteAddress;
2 голосов
/ 01 октября 2010

Обычно его можно найти через

OperationContext.Current.GetCallbackChannel<T>()

Где T - это тип интерфейса CallBack, определенный в контракте.

...