Как получить ссылку на IDuplexChannel, IDuplexSessionChannel или IOutputChannel в Wcf - PullRequest
0 голосов
/ 12 марта 2010

У меня есть дуплексная служба Wcf, и я хотел бы получить ссылку на IDuplexChannel, IDuplexSessionChannel или IOutputChannel, чтобы я мог использовать неблокирующий метод BeginSend.

На моем сервере внутри обработчика для инициирующего метода у меня есть следующее (я перепробовал каждый интерфейс, который я перечислил вместо IOutputChannel. Кажется, что ни один из них не существует.)

_clientCb = OperationContext.Current.GetCallbackChannel<IDxClientCb>();
_channel = OperationContext.Current.Channel;
_duplexChannel = _channel as IOutputChannel;
Debug.Print("Service IOutputChannel null: {0}", _duplexChannel == null);

Аналогично, в клиенте я пытался привести приведенное значение DuplexChannelFactory.CreateChannel () к любому из этих интерфейсов, и я всегда получаю нулевое значение.

Как мне получить ссылку на один из них?

1 Ответ

1 голос
/ 12 марта 2010

Почему вы хотите это сделать? Если вы хотите выполнять асинхронные операции, просто объявите контракт обратного вызова с асинхронными операциями и используйте их вместо этого? (см. http://msdn.microsoft.com/en-us/library/ms734701.aspx)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...