Веб-службы IIS7 / .NET - ошибка, когда одна веб-служба вызывает другую - PullRequest
0 голосов
/ 24 июня 2011

Мне нужна небольшая помощь в решении проблемы, связанной с веб-сервисами .NET.У меня есть настольное приложение, которое использует мой основной веб-сервис.Один из методов получает некоторые данные отчета, но для этого веб-служба (A) вызывает метод в веб-службе (B).В зависимости от того, какие параметры я передаю в метод «А», он либо работает, либо не работает.Если я передам фильтр, набор данных будет довольно маленьким, когда я не передам фильтр, очевидно, набор данных очень большой.Кроме того, если я запускаю веб-службу «A» в режиме отладки и указываю на приложение для настольного компьютера локальную версию (в то время как B находится на нашем производственном сервере), она работает независимо от того, фильтрую я данные или нет.Я получаю сообщение об ошибке: неверный шлюз 502 в рабочем состоянии, а веб-сервер 502 получил неверный ответ, выступая в качестве шлюза или прокси-сервера.

У нас есть веб-ферма с некоторыми ARR, поэтому я пошел вARR веб-фермы, нашел параметры «Прокси» и настроил таймаут на 1200 секунд (в то время как мое приложение обычно дает сбой в течение 20-30 секунд), и я все еще получаю эту ошибку.HTTP-версия находится в режиме «Pass through» с установленным флажком «keep alive».

У нас нет проблем с использованием службы Windows, использующей веб-службу или что-то подобное, только когда одна веб-служба использует другую сетьservice.

Добавление , я не использую какие-либо сеансы в своих методах веб-службы, и я считаю, что веб-метод, который я вызываю в веб-службе "B", имеет значение кеширования 5минут.

Я ломаю голову над этим из-за недостатка знаний IIS 7 и многих других вещей.Если у кого-то есть какие-либо идеи или они могут указать мне правильное направление, я, безусловно, буду признателен за это.

1 Ответ

3 голосов
/ 10 августа 2011

Я думал, что приду сюда и отвечу на этот вопрос, если кто-то столкнется с той же проблемой. Эта проблема не была связана с сервером вообще. Это было связано с кодом. В моем коде у меня был datatable (c #), и я делал datatable.select (....), где я передавал фильтр со многими «ИЛИ». Ex. Filter = 'x' OR 'y' OR 'z' и т.д. Я изменил код, чтобы сделать «IN (x, y, z)», и теперь он работает нормально. Надеюсь, это кому-нибудь поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...