У меня на руках настоящий лимон. Я надеюсь, что кто-то, кто имеет такую же проблему или знает, как ее решить, может направить меня в правильном направлении.
Настройка
Я пытаюсь создать службу данных WCF, которая использует модель ADO Entity Framework для извлечения данных из БД. Я добавил ссылку на сервис WCF, и все, кажется, в порядке. У меня есть два набора вызовов службы данных. Первый получает список всех «пользователей» и возвращает (этот список не включает никаких зависимых данных (например, адрес, контакт и т. Д.). Второй вызов - когда выбирается «пользователь», запрос приложения включает еще несколько зависимых данных, таких как адрес, контактные данные, сообщения и т. д. с учетом идентификатора пользователя. Это также, кажется, работает нормально.
Лимон
После некоторого изменения выбора пользователя, т.е. вызывая более зависимые данные от службы данных, приложение перестает отвечать.
Ошибка сбоя:
Время ожидания канала запроса при ожидании ответа после 00: 00: 59.9989999. Увеличьте значение тайм-аута, передаваемое вызову Request, или увеличьте значение SendTimeout в Binding. Время, отведенное для этой операции, могло быть частью более длительного времени ожидания.
Я перезапускаю процесс отладки, но приложение не будет выполнять какие-либо вызовы службы данных, пока примерно через минуту или около того VS 8 отображает окно сообщения с ошибкой:
Невозможно обработать запрос от службы. http://localhost:61768/ConsoleService.svc'. Катастрофический сбой.
Я, черт возьми, погуглил эту ошибку и связанные с ней проблемы, но не нашел ничего полезного.
Возможные решения
Я нашел некоторые сведения об источнике проблемы. В app.config клиента:
- maxReceivedMessageSize> Установить более высокое значение, например. 5242880.
- receiveTimeout> Установить более высокое значение, например. 00: 30: 00
Я пробовал это, но все тщетно. Я подозреваю, что есть основная проблема, которая не может быть решена простым изменением некоторых чисел. Любые выводы будут высоко оценены.