powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Выполнение длительных операций
6 сообщений из 6, страница 1 из 1
Выполнение длительных операций
    #34010084
Alexsashka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.

На странице вызываю web-сервис, который должен выполняться около 5 минут.

Если вызвать просто метод, то ему по умолчанию на выполнение выделится 1 мин. 40 секунд, после чего генерируется эксепшн.

Устанавливаю для сервиса свойство Timeout = 1200000, метод выполняется 2 мин. 30 сек. после чего генерируется эксепшн.

Пробую вызывать метод асинхронно:

IAsyncResult ar = service.BeginMethodName1(...);
ar.AsyncWaitHandle.WaitOne();
service.EndMethodName1(ar,...);

Тоже самое 2 мин. 30 сек. и эксепшн.

Текст исключения следующий:

System.Net.WebException :The underlying connection was closed: An unexpected error occurred on a receive.

Как же заставить метод веб-сервиса выполняться 5 минут и более?

Используется asp.net 1.1. (не 2!)
...
Рейтинг: 0 / 0
Выполнение длительных операций
    #34010512
Alexsashka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
up
...
Рейтинг: 0 / 0
Выполнение длительных операций
    #34011575
Alexsashka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
up
...
Рейтинг: 0 / 0
Выполнение длительных операций
    #34014386
Alexsashka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
up
...
Рейтинг: 0 / 0
Выполнение длительных операций
    #34014413
totmakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Такие вещи нужно запускать в отдельном потоке!!!

Какой смысл в том, что ты вызываешь метод асинхронно и тут же ждешь его завершения?! (WaitOne) Естественно у тебя будет вылетать такой же эксепшн, т.к. этот твой асинхронный вызов ничем не отличается от обчного последовательного. Нужно запускать отдельный Thread и там обрабатывать вызов.

См. MSDN, System.Threading.Мой блог
...
Рейтинг: 0 / 0
Выполнение длительных операций
    #34015080
Alexsashka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, totmakov.
 
Сделал тестовый метод веб-сервиса в котором идёт задержка Thread.Sleep на 5 и более минут и синхронный вызов не приводит к исключению??!

Мой же метод который генерит эксепшн обращается к БД, но в то же время он полностю заключен в конструкцию
try
{
}
catch()
{
}
и никаких проблем с ним до этого небыло.

Такой вопрос, Вы говорите что надо запускать новый поток. А если этот поток будет выполняться очень долго и по его окончании нужно будет обратится к web-конролу, а все события страницы уже будут отработаны, что в этом случае?
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Выполнение длительных операций
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]