Как я могу увеличить время ожидания для ASP.NET Ajax PageMethod? - PullRequest
2 голосов
/ 27 января 2011

У меня есть страница ASP.NET с несколькими статическими методами, помеченными [WebMethod] в коде рядом, которые в свою очередь вызываются из javascript с использованием PageMethods.MyMethodName(myParameter, myOnCompleteHandler, myOnErrorHander);.

Один из методов вызывается несколько раз, и время выполнения может быть продолжительным из-за объема вызовов.В настоящее время метод работает правильно, но вызовы, которые занимают> 5 минут, заканчиваются.Я хотел бы увеличить этот промежуток до 10 минут.

Я пытался:

  • ScriptManager.AsyncPostBackTimeout = 600;
  • Server.ScriptTimeout = 600;
  • this.Page.AsyncTimeout = new TimeSpan(0,10,0);
  • Sys.Net.WebRequestManager.set_defaultTimeout(600000); в JavaScript

Ответы [ 2 ]

2 голосов
/ 17 декабря 2011

Добавьте следующую строку в ваш web.config в разделе system.web.

<httpRuntime executionTimeout="3600" maxRequestLength="2147483647" />

Поздний ответ, но, возможно, это поможет следующему человеку.

1 голос
/ 27 декабря 2016

Правильный ответ здесь , поскольку время ожидания AJAX контролируется диспетчером сценариев, а не время ожидания http.

Вам необходимо получить элемент управления scriptmanager (либо в коде, либо в разметке) и установить для свойства AsyncPostBackTimeout подходящее значение по вашему желанию.

AsyncPostBackTimeout="300"
...