Подтвердить что ты не робот

Настройка времени ожидания для веб-службы .NET

У меня есть веб-сервис, написанный на С#, который живет на сайте SharePoint. Я изменил файл web.config с помощью следующего кода:

<configuration>
  <system.web>
    <httpRuntime executionTimeout="360" />

...

для файла IIS Inetpub, файла SP. ISFI SP ISAPI и макетов SP web.config. Я также изменил файл machine.config с тем же кодом и попытался выявить любые таймауты, которые я вижу в IIS.

Когда я вызываю эту веб-службу из приложения Windows С#, я могу войти в веб-метод и начать отладку переменной, но через короткое время (~ 1 минута, возможно, меньше) значения переменных больше не присутствуют, потому что это возвращается

System.Net.WebException "Запрос был прерван: операция была отключена".

Я пытаюсь выяснить, где должны быть установлены правильные значения таймаута и как. Я перезапускаю IIS после того, как сделал все изменения, но ничего не изменилось, чтобы дать разные результаты.

Спасибо

4b9b3361

Ответ 1

Попробуйте установить значение тайм-аута в прокси-классе веб-службы:

WebReference.ProxyClass myProxy = new WebReference.ProxyClass();
myProxy.Timeout = 100000; //in milliseconds, e.g. 100 seconds

Ответ 2

После создания вашего клиента, определяющего адрес привязки и конечной точки, вы можете назначить OperationTimeout,

client.InnerChannel.OperationTimeout = new TimeSpan(0, 5, 0);