Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Выполнение длительных операций
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. На странице вызываю 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!) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2006, 15:13 |
|
||
|
Выполнение длительных операций
|
|||
|---|---|---|---|
|
#18+
Такие вещи нужно запускать в отдельном потоке!!! Какой смысл в том, что ты вызываешь метод асинхронно и тут же ждешь его завершения?! (WaitOne) Естественно у тебя будет вылетать такой же эксепшн, т.к. этот твой асинхронный вызов ничем не отличается от обчного последовательного. Нужно запускать отдельный Thread и там обрабатывать вызов. См. MSDN, System.Threading.Мой блог ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2006, 09:15 |
|
||
|
Выполнение длительных операций
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, totmakov. Сделал тестовый метод веб-сервиса в котором идёт задержка Thread.Sleep на 5 и более минут и синхронный вызов не приводит к исключению??! Мой же метод который генерит эксепшн обращается к БД, но в то же время он полностю заключен в конструкцию try { } catch() { } и никаких проблем с ним до этого небыло. Такой вопрос, Вы говорите что надо запускать новый поток. А если этот поток будет выполняться очень долго и по его окончании нужно будет обратится к web-конролу, а все события страницы уже будут отработаны, что в этом случае? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.09.2006, 11:47 |
|
||
|
|

start [/forum/topic.php?fid=18&fpage=869&tid=1389190]: |
0ms |
get settings: |
6ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
33ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 337ms |

| 0 / 0 |
