У меня есть служба WCF на дуплексном канале с контрактом на обратный вызов.Служба отслеживает клиентов, сохраняя результат OperationContext.Current.GetCallbackChannel<T>()
в списке, когда клиент вызывает метод SubscribeMe()
в службе.Служба будет периодически пинговать эти каналы обратного вызова, чтобы отслеживать их действительность, и истечет срок действия тех из них, которые закрыты или имеют тайм-аут.
У меня такой вопрос: как получить информацию об удаленном хосте, когда удаленныйхост не выполняет активный запрос к моему сервису, например, когда я звоню MyCallbackContract.Ping()
?
Я попытался привести объект канала обратного вызова к IContextChannel
и получить доступ к свойству IContextChannel::RemoteAddress
, но этоСвойство содержит некоторый URI пространства имен, который не имеет ничего общего с реальным удаленным хостом в канале обратного вызова.