У меня есть клиент форм win, который обращается к службе wcf для длительной работы. Сервис предоставляет методы подписки и отмены подписки. Когда клиент вызывает метод подписки, сервис генерирует для него новый guid и получает текущий контекст обратного вызова, сохраняет этот контекст guid и обратного вызова в словаре клиента и возвращает Guid. По запросу пользователя клиентская служба звонков с этим гидом запускает длительную операцию. Как только служба завершает операцию, она возвращает клиенту обратный вызов. Затем клиент получает обработанные данные из службы.
Иногда я получаю ошибку при выполнении обратного вызова
Операция «OnServiceCallback» не может быть завершена, так как тайм-аут сеансового канала истек в ожидании получения сообщения. Чтобы увеличить время ожидания, либо установите свойство receiveTimeout для привязки в файле конфигурации, либо установите свойство ReceiveTimeout для привязки напрямую.
Часть, которую я не могу понять, состоит в том, что это происходит очень непоследовательно. В большинстве случаев это происходит после того, как клиент и служба некоторое время работали.
Я новичок в службе wcf и приветствую любые предложения по устранению этой ошибки.