Установка значения времени ожидания для .NET Web Service - PullRequest
25 голосов
/ 02 апреля 2009

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

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

...

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

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

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

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

Спасибо

Ответы [ 2 ]

26 голосов
/ 17 апреля 2014

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

client.InnerChannel.OperationTimeout = new TimeSpan(0, 5, 0);
25 голосов
/ 02 апреля 2009

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

WebReference.ProxyClass myProxy = new WebReference.ProxyClass();
myProxy.Timeout = 100000; //in milliseconds, e.g. 100 seconds
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...