powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / TimeOut выполнения ХП из WebService
7 сообщений из 7, страница 1 из 1
TimeOut выполнения ХП из WebService
    #33889396
Аноним
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.
Есть ХП, которая выполняется примерно 30 минут. Из кода .NET надо к ней обратиться. Раньше для общения с БД использовал Microsoft`овский провайдер доступа. Эта процедура обрывала свое выполнение. Вроде объяснимо, Microsoft Provider не поддерживает TimeOut и т.д... Но сейчас для этой ХП решил использовать ODP.NET, т.к. в нем можно указать TimeOut выполнения комманды. Более того, по умолчанию он там бесконечен. Но ситуация повторяется. Процедура втихомолку прекращает свое выпонение "на полуслове", никаких exception... Сессия тупо вырубается без ошибок. Естественно, ошибок в ХП нет. Запускаю из навигатора, все отрабатывает на ура. Как обойти данную проблему?
База — Oracle 10.2
ODP.NET — тоже
ХП вызывается из веб-сервиса. Собственно, на него я и грешу, т.к. та же процедура нормально отрабатывает из консольного приложения.
Буду благодарен на любые ссылки по данной тематике.
...
Рейтинг: 0 / 0
TimeOut выполнения ХП из WebService
    #33889463
Dkm_S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У веб-сервиса, вроде бы, тоже TimeOut есть. Минут 5 по умолчанию.--
Абыpвалг! - сказал Linux после pyсификации
...
Рейтинг: 0 / 0
TimeOut выполнения ХП из WebService
    #33889499
Фотография Max Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.
Есть ХП, которая выполняется примерно 30 минут. Из кода .NET надо к ней обратиться. Раньше для общения с БД использовал Microsoft`овский провайдер доступа. Эта процедура обрывала свое выполнение. Вроде объяснимо, Microsoft Provider не поддерживает TimeOut и т.д... Но сейчас для этой ХП решил использовать ODP.NET, т.к. в нем можно указать TimeOut выполнения комманды. Более того, по умолчанию он там бесконечен. Но ситуация повторяется. Процедура втихомолку прекращает свое выпонение "на полуслове", никаких exception... Сессия тупо вырубается без ошибок. Естественно, ошибок в ХП нет. Запускаю из навигатора, все отрабатывает на ура. Как обойти данную проблему?
База — Oracle 10.2
ODP.NET — тоже
ХП вызывается из веб-сервиса. Собственно, на него я и грешу, т.к. та же процедура нормально отрабатывает из консольного приложения.
Буду благодарен на любые ссылки по данной тематике.
Таймаут бывает не только у команды, но и у соединения. Установи и то и другое в 45 минут.
oConnection.ConnectionTimeOut=45*60
oCommand.CommandTimeOut=45*60
Ну и время сессии установи 60 минут
timeout="60" - это в вэбконфиге.
Есть многое на свете, друг Гораций, что непонятно нашим мудрецам.
...
Рейтинг: 0 / 0
TimeOut выполнения ХП из WebService
    #33889509
Аноним
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, Dkm_S, Вы писали:

D_S>У веб-сервиса, вроде бы, тоже TimeOut есть. Минут 5 по умолчанию.

D_S>
данное сообщение получено с www.gotdotnet.ru
D_S>ссылка на оригинальное сообщение


Я делаю:
myService.Timeout = System.Threading.Timeout.Infinite;
...
Рейтинг: 0 / 0
TimeOut выполнения ХП из WebService
    #33889622
Аноним
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, Max Pro, Вы писали:

MP>Всем привет.
MP>Есть ХП, которая выполняется примерно 30 минут. Из кода .NET надо к ней обратиться. Раньше для общения с БД использовал Microsoft`овский провайдер доступа. Эта процедура обрывала свое выполнение. Вроде объяснимо, Microsoft Provider не поддерживает TimeOut и т.д... Но сейчас для этой ХП решил использовать ODP.NET, т.к. в нем можно указать TimeOut выполнения комманды. Более того, по умолчанию он там бесконечен. Но ситуация повторяется. Процедура втихомолку прекращает свое выпонение "на полуслове", никаких exception... Сессия тупо вырубается без ошибок. Естественно, ошибок в ХП нет. Запускаю из навигатора, все отрабатывает на ура. Как обойти данную проблему?
MP>База — Oracle 10.2
MP>ODP.NET — тоже
MP>ХП вызывается из веб-сервиса. Собственно, на него я и грешу, т.к. та же процедура нормально отрабатывает из консольного приложения.
MP>Буду благодарен на любые ссылки по данной тематике.
MP>Таймаут бывает не только у команды, но и у соединения. Установи и то и другое в 45 минут.
MP>oConnection.ConnectionTimeOut=45*60
MP>oCommand.CommandTimeOut=45*60
MP>Ну и время сессии установи 60 минут
MP>timeout="60" — это в вэбконфиге.

Спасибо за совет. К сожалению на данный момент не имею возможности проверить. Меня смущает таймаут соединения. Вот что пишет Oracle в документации по ODP.NET:

Maximum time (in seconds) to wait for a free connection from the pool.
This attribute specifies the maximum amount of time (in seconds) that the Open() method can take to obtain a pooled connection before it terminates the request. This value comes into effect only if no free connection is available from the connection pool and the Max Pool Size is reached. If a free connection is not available within the specified time, an exception is thrown. Connection Timeout does not limit the time required to open new connections.

This attribute value takes effect for pooled connection requests and not for new connection requests.

Т.е., как я понимаю, в этой переменной указывается время, которое код .NET будет терпеливо ждать, пока пул не выдаст ему свободное соединение, но не время, на которое это самое соединение можно занять. Таким образом, если я уж получил соединение и начал выполнять ХП, то прервать меня не имеют права. К тому же значение по умолчания для этой переменной — 15 секунд. А у меня ХП успевает проработать примерно 20 минут. Нестыковка. А вот это:

MP>Ну и время сессии установи 60 минут
MP>timeout="60" — это в вэбконфиге.

очень интересно. Разве это должно повлиять? Мы ведь все время (не бейте за грубое сравнение) "сидим в коде сессии".
...
Рейтинг: 0 / 0
TimeOut выполнения ХП из WebService
    #33890110
Аноним
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ничего не понимаю... :crash:

Спасибо товарищу за совет:

MP>Ну и время сессии установи 60 минут
MP>timeout="60" — это в вэбконфиге.

Действительно, вроде это правильное направление. После длительных оптимизаций процедура теперь успевает выполниться за срок меньший 20 минут. Т.е., я не смог наблюдать описываемое мною поведение. Для проверки сделал длительность сессии 3 минуты. Тогда процедура как и раньше не успела выпониться. Только, "старалась выполниться" примерно минут 15, а не 3, к сожалению...
Теперь делаю так. Вызываю эту длительную процедуру в отдельном потоке. Т.е. запустился WebMethod сервиса, затем он тупо создает новый поток, в котором уже происходят длительные действия. И все равно не выходит!!!

Кто-нибудь что-то объяснить может в данной ситуации?
...
Рейтинг: 0 / 0
TimeOut выполнения ХП из WebService
    #33890268
Фотография Max Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, Аноним, ты даёшь! Всё тебе на блюдечке выдал, а ты теперь потоки какие-то там придумал. Потоки в основном важны под вин, а не под вэб. В данном случае, на сколько я могу удалённо тебя понять, они (потоки) вообще тебе не нужны.
Есть многое на свете, друг Гораций, что непонятно нашим мудрецам.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / TimeOut выполнения ХП из WebService
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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