В чем разница между Session.Timeout и Server.ScriptTimeout? - PullRequest
1 голос
/ 04 марта 2009

У нас есть веб-приложение ASP.net с несколькими страницами, время от времени истекающими при загрузке страницы (как правило, это все страницы типа администратора, которые загружают / загружают с обработкой ошибок).

Одним из решений было увеличение как Session.Timeout, так и Server.ScriptTimeout до очень больших чисел, что прекрасно работает. Однако здесь довольно много дискуссий о том, когда применяются все настройки. Мягко говоря, страницы MSDN открыты для интерпретации.

Кто-нибудь может дать мне краткую версию читателя о том, в чем разница, или указать мне страницу MSDN, которую мы не смогли найти?

Спасибо, все.

(. Net 2.0 на II6, если это имеет значение.)

В качестве дополнительного вопроса о бонусе изменяет ли эти настройки, скажем, функцию on_load () данной страницы, их изменения для всего приложения или только для этой страницы?

Редактировать: упс! Я имел в виду «Session.Timeout», а не «Server.Timeout».

Ответы [ 2 ]

9 голосов
/ 04 марта 2009

Тайм-аут сценария определяет, как долго может выполняться код для обработки запроса, поэтому вы можете изменить его, чтобы он долго работал. Параметр в диспетчере IIS используется для каждого запроса, а свойство Server.ScriptTimeout используется для текущего запроса, поэтому, если возможно, вы должны установить его в коде, чтобы все обычные страницы использовали обычный тайм-аут сценария.

Время ожидания сеанса - это время, в течение которого объект сеанса на сервере сохраняется после того, как пользователь последний раз сделал запрос. Параметр времени ожидания сеанса в диспетчере IIS является параметром по умолчанию для любого нового созданного сеанса, а свойство Session.Timeout, к которому вы получаете доступ из кода, является временем ожидания для этого конкретного сеанса. Время ожидания сеанса по умолчанию составляет 20 минут, и вы можете немного увеличить его без какого-либо большого риска, но вы все равно должны держать его в пределах разумного значения, чтобы у вас не было объектов сеанса, которые цепляются за дни в памяти.

6 голосов
/ 04 марта 2009

ScriptTimeout - это количество секунд, которое среда выполнения ASP.NET будет тратить на ожидание результатов со страницы ASPX.

Session.Timeout - это количество минут, которое ASP.NET будет тратить на ВЫ .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...