2010-08-02 3 views
0

У меня есть веб-сервис и клиент для веб-сервиса.Доступ к полю

Я использую дуплексный узор.

В клиенте есть поле, называемое «id», для которого установлено значение. Код клиента показан ниже.

string id = "foobar"; 
InstanceContext context = new InstanceContext(this); 
CalcClient client = new CalcClient(context); 

Как получить доступ к полю «id» в Webservice.

На стороне сервера я получаю канал обратного вызова следующим образом.

ICalcServiceCallback callback = OperationContext.Current.GetCallbackChannel<ICalcServiceCallback>(); 

Мне нужно получить доступ к «id» на сервере.

Спасибо,

ответ

0

не уверен, если это возможно, и дуплексная служба WCF, конечно, не разработана, чтобы сделать это!

Вы можете определить новый контракт на операцию в своем callback-контракте, который возвращает строку идентификатора, хотя контракт обратного вызова предназначен как способ для уведомления клиента о клиенте. Событие произошло как способ реализации событий с WCF, например клиент подписывается на сервер, а сервер периодически публикует обновление для клиента.

Именно по этой причине большинство операций обратного вызова настроены как односторонние. Прочитайте эту статью MSDN, она немного устарела, но по-прежнему актуальна и сообщает вам все, что вам нужно знать о дуплексной службе в WCF.

http://msdn.microsoft.com/en-us/magazine/cc163537.aspx

Смежные вопросы