в настоящее время я пытаюсь настроить что-то вроде этого:
- серверная служба Windows WCF зависает и прослушивает через tcp соединения от служба Windows на стороне клиента.
- когда соединение получено (клиент вызывает метод CheckIn в службе), служба получает канал обратного вызова через OperationContext.Current.GetCallbackChannel
- этот канал сохраняется в коллекции вместе с уникальным ключом (в частности, я сохраняю интерфейс обратного вызова, канал и ключ в List , где каждый из них является свойством)
- теперь можно передавать вызовы этой клиентской службе на основе на указанном уникальном ключе
это сначала работает, но через некоторое время s tops - я больше не могу передавать звонки клиенту. Я предполагаю, что это потому, что соединение было разорвано внутри, и я пытаюсь работать с мертвым соединением.
имея в виду, у меня есть следующие вопросы:
- как мне сказать wcf, что я хочу сохранить эти TCP-соединения на неопределенный срок (или как можно дольше)?
- как мне проверить, из на стороне клиента, действительно ли мое соединение с сервером по-прежнему действует, чтобы я мог его отключить и снова проверить соединение с сервером, если мое соединение перегрето?
Я могу придумать бесполезные решения, но я надеюсь, что кто-то здесь найдет скажи мне ПРАВИЛЬНЫЙ путь.
задан Joshua Evensen 23 March 2011 в 13:27
поделиться