Внедрите свой сервис с использованием асинхронной модели и получите некоторый код, отслеживающий ваши невыполненные запросы, чтобы определить, не слишком ли много они заняли.
Затем, если тайм-аут наступает до того, как на запрос можно будет ответить реальным способом, затем вызовите их обратный вызов. Стек WCF обеспечивает это, когда вызывает ваш
BeginFoo( fooParam1, fooParam2, AsyncCallback callback, object state)
Затем сгенерируйте или верните свою ошибку или тайм-аут исключения или ответ в соответствующем методе EndFoo()
.
Убедитесь, что больше не перезваниваете на их обратный вызов, если в итоге придет реальный ответ.
Потребуется некоторое время, чтобы привыкнуть к асинхронному программированию wcf, но нет, очевидно, нет настройки на стороне сервера.
Кроме того, вам следует попытаться использовать клиент, который поддерживает тайм-аут или отменяемые запросы, поскольку вы не можете рассчитывать на то, что сервер запросит у вас время. Возможно, отсутствует соединение или на сервере есть другая проблема.
Ура,
Chris