Тайм-аут WebService - PullRequest
       16

Тайм-аут WebService

0 голосов
/ 18 февраля 2011

Я развернул один веб-сервис, который вызывает функцию, которая займет более 5-6 часов. Я использую этот веб-сервис на своей странице asp.net и вызываю этот веб-сервис асинхронно. Так как мне увеличить время ожидания веб-сервиса?

Ответы [ 3 ]

3 голосов
/ 18 февраля 2011

Если вы вызываете функцию, выполнение которой занимает 5-6 часов, вы можете пересмотреть свою архитектуру.Будет ли пользователь сидеть на странице и ждать 5 или 6 часов до завершения вашего процесса?Возможно нет.Возможно, вы могли бы сделать так, чтобы ваш веб-сервис установил индикатор в базе данных, XML-файле или другом хранилище данных после его завершения.Затем на своей странице asp.net вы можете нажать кнопку или выполнить какое-либо другое действие, чтобы проверить этот индикатор и убедиться, что процесс завершен.

2 голосов
/ 18 февраля 2011

Вам нужно изменить значение параметра executeTimout в вашем Web.Config на что-то большое, например:

Время выполнения в секундах.

<configuration>
    <system.web>
        <httpRuntime executionTimeout="21600"/>
    </system.web>
</configuration>
1 голос
/ 18 февраля 2011

Если у вас все запросы в вашем веб-сервисе имеют длительный тайм-аут, вы можете установить

<httpRuntime executionTimeout="300"/>

Под

<system.web>

в вашем файле web.config, где 300 - ваше время ожидания в секундах

Однако, поскольку DevSlick отвечает , вы можете пересмотреть свою архитектуру, веб-службы не предназначены для долгосрочных задач, вы можете создать консольное приложение, которое запускается по расписанию.

...