Как увеличить время ожидания веб-сервиса в asp.net? - PullRequest
24 голосов
/ 02 сентября 2011

Я создал один веб-сервис типа asmx.И я использую свой веб-сервис в приложении .net Windows.

Веб-метод от веб-службы получает преобразование байтового массива объекта и объекта моего класса, имеющих различные атрибуты, в которые я добавляю один XML-файл в виде строки.Когда моя строка, содержащая данные XML, увеличивается, то при отправке данных в веб-службу выдается ошибка «Тайм-аут».

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

Ответы [ 3 ]

21 голосов
/ 25 января 2014

1 - Вы можете установить тайм-аут в вашем приложении:

var client = new YourServiceReference.YourServiceClass();
client.Timeout = 60; // or -1 for infinite

Это в секундах .

2 - Также вы можете увеличить значение тайм-аута в теге httpruntime в web / app.config:

<configuration>
     <system.web>
          <httpRuntime executionTimeout="<<seconds>>" />
          ...
     </system.web>
</configuration>
15 голосов
/ 02 сентября 2011

Вы можете сделать это по-разному:

  1. Установка таймаута в вызывающей стороне веб-службы из кода (не уверен на 100%, но я думаю, что видел, что это сделано);
  2. Установка времени ожидания в конструкторе прокси-сервера веб-службы в веб-ссылках;
  3. Установка времени ожидания на стороне сервера, web.config приложения веб-службы.

см.здесь для получения дополнительной информации о втором случае:

http://msdn.microsoft.com/en-us/library/ff647786.aspx#scalenetchapt10_topic14

и здесь для получения подробной информации о последнем случае:

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

2 голосов
/ 22 ноября 2016

В файле app.config (или .exe.config) Вы можете добавить или изменить свойство receiveTimeout в привязке. как это

<binding name="WebServiceName" receiveTimeout="24:00:00" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...