Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с ответом от Web Service 
:(
    Опции темы
sip
Дата 10.2.2009, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 10.12.2007

Репутация: нет
Всего: нет



Есть web service на .NET1.1 Проблема в следующем: клиент делает несколько вызовов методов и все они отказываются с WebException: Time out. Потом спустя минуту делается еще один вызов и он проходит успешно, но вместе с ним проходят и предыдущие запросы, это видно по записям в базе данных. Подскажите,  что за проблема может быть с веб сервисом и как от нее избавиться.
Спасибо.
PM MAIL   Вверх
emmanuil
Дата 11.2.2009, 06:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 380
Регистрация: 9.1.2007

Репутация: нет
Всего: 3



Конечно может глупость скажу, но попробуй увеличить таймаут в ISS на сайте.
PM MAIL   Вверх
sip
Дата 11.2.2009, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 10.12.2007

Репутация: нет
Всего: нет



Спасибо за ответ, я попробую. 
Но получается как-то странно, допустим первые два вызова закончились таймаутом, но остались на сервере "сидеть" как бы в очереди, а третий вызов их пробивает и выполняются сразу все три...
PM MAIL   Вверх
PashaPash
Дата 11.2.2009, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

Репутация: 6
Всего: 49



sip, сервер получает запрос, начинает его обрабатывать. Клиент ждет столько, сколько прописано в таймауте на его стороне (WebClientProtocol.Timeout). Не дожидается и бросает твоему коду исключение. А сервер спокойно завершает обработку. Никаких "сидеть в очереди" при 3-х вызовах скорее всего нет. Это, конечно, если запросы на стороне сервера долго обрабатываются - например, если это 2 первых запроса к вебсервису после его рестарта. smile


--------------------
PM MAIL WWW   Вверх
sip
Дата 11.2.2009, 20:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 10.12.2007

Репутация: нет
Всего: нет



PashaPash, а как правильно делается в таком случае? я хочу чтобы клиет и сервер имели один набор данных, а так получается сервер меняет свою часть, а клиент нет.
PM MAIL   Вверх
emmanuil
Дата 12.2.2009, 06:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 380
Регистрация: 9.1.2007

Репутация: нет
Всего: 3



Увеличь таймаут. PashaPash ведь написал где. Твой прокси класс к веб-службе является наследником WebClientProtocol и у него значит есть свойство Timeout (в миллисекундах), вот его и увеличь. smile

Это сообщение отредактировал(а) emmanuil - 12.2.2009, 06:36
PM MAIL   Вверх
sip
Дата 12.2.2009, 08:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 10.12.2007

Репутация: нет
Всего: нет



Установлен таймаут у клиента на 5 секунд. Больше клиент ждать не должен. Но нужно чтобы и сервер прекратил все действия. А у меня клинет уходит по эксепшену а сервер продолжает свою работу. 
Как такое сделать?
PM MAIL   Вверх
PashaPash
Дата 12.2.2009, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1233
Регистрация: 3.1.2008

Репутация: 6
Всего: 49



sip, на сервере выполняется кусок твоего кода. Как клиент, не дождавшийся ответа, может взять и прекратить его?
Проще всего будет использовать транзакции, тогда действия сервера будут просто откатаны назад. Но это потянет за собой MSDTC и минимум 2.0. Смотри TransactionInterop. 


--------------------
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
cully
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, cully, mr.DUDA, Exception.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Распределённые приложения и сеть | Следующая тема »


 




[ Время генерации скрипта: 0.0683 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.