|
|
|
какие настройки IIS могут влиять на время простоя
|
|||
|---|---|---|---|
|
#18+
Всем привет! такой вопрос по таймаутам. Есть ASP MVC приложение, в котором прописан timeout сессии 24 часа но если не работать с приложением 15 минут ... то сессия отваливается. В чем может быть дело? какие настройки IIS могут влиять на время простоя? спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2012, 15:58 |
|
||
|
какие настройки IIS могут влиять на время простоя
|
|||
|---|---|---|---|
|
#18+
flashslash, В расширенной настройке пула приложения есть очень интересный раздел Recycling (это для IIS7+). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2012, 16:09 |
|
||
|
какие настройки IIS могут влиять на время простоя
|
|||
|---|---|---|---|
|
#18+
Также еще там же в разделе Process Model есть параметр Idle Time-out - в минутах он по умолчанию 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2012, 16:10 |
|
||
|
какие настройки IIS могут влиять на время простоя
|
|||
|---|---|---|---|
|
#18+
flashslash, сессия может упасть в случае переполнения памяти на сессионных переменных (около 100МБайт), также если ты новые файлы на хостинг заливаешь, кроме того админ может IIS перезапустить. Что касается теории, то привожу цитату из MSDN: Конфигурация и запуск состояния сеанса В ASP.NET доступны три режима состояния сеанса: внутренний, сервер состояния и SQL-сервер. Независимо от выбора режима основные параметры конфигурации совпадают. Состояние сеанса настраивается в два этапа. Во-первых, в HTTP-запрос внедряется модуль состояния сеанса. По умолчанию это задается в корне иерархии конфигураций в файле Machine.config. В следующем примере демонстрируется образец содержимого файла Machine.config. Чтобы файл конфигурации работал правильно, следует указать полное имя соответствующей версии сборки System.Web.SessionState.SessionStateModule. Обычно, это версия, связанная с версией .NET Framework, используемой приложением. Сведения о способах получения полного имени сборки см. в разделе Имена сборок. Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. Задайте атрибуты служб состояния сеанса в зависимости от режима состояния сеанса в элементе конфигурации <sessionState>. Настройка внутреннего режима По умолчанию используется внутренний режим состояния сеанса. Чтобы включить внутренний режим, задайте значение атрибута mode элемента <sessionState> равным Inproc. Ниже приведен образец конфигурации параметров внутреннего режима. Код: xml 1. 2. 3. 4. 5. 6. 7. 8. Настройка сервера состояния Перед включением режима сервера состояния убедитесь, что служба состояния ASP.NET запущена на удаленном компьютере. Эта служба устанавливается с ASP.NET и Visual Studio .NET в папку системная_корневая_ папка \Microsoft.NET\Framework\номер_версии\aspnet_state.exe В файле Web.config задайте значение атрибута mode элемента <sessionState> равным StateServer. Значение атрибута connectionString установите равным tcpip=имя_сервера:номер_порта. Ниже приведен образец конфигурации параметров режима сервера состояния. Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. Настройка SQL-сервера Перед включением режима SQL-сервера запустите на SQL-сервере, который будет хранить состояние сеанса, InstallSqlState.sql или InstallPersistSqlState.sql. Эти сценарии хранят базу данных с именем ASPState, содержащую хранимые процедуры. Различие между сценариями заключается в расположении таблиц базы данных. После запуска сценария InstallSqlState.sql таблицы добавляются в базу данных TempDB, данные которой при перезагрузке компьютера не сохраняются. После запуска сценария InstallPersistSqlState.sql таблицы добавляются в базу данных ASPState, данные которой при перезагрузке компьютера сохраняются. По умолчанию файлы сценариев устанавливаются в папку корневая_системная_папка\Microsoft.NET\Framework\номер_версии В файле Web.config задайте значение атрибута mode элемента <sessionState> равным SQLServer. Значение атрибута sqlConnectionString установите равным Integrated Security=SSPI;data source=имя_сервера;. Ниже приведен образец конфигурации параметров режима SQL-сервера. Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. В режиме SQL-сервера состояние сеанса может работать в антисбойном кластере. Такой кластер представляет собой два или более идентичных резервных сервера, хранящих данные сеанса в базе данных SQL на отдельном компьютере. При сбое веб-сервера запросы будут обслужены другим сервером без потери данных. Чтобы настроить кластер, установите одинаковые значения для элементов <machinekey> в файле настройки Web.config веб-серверов. Затем установите значение строки подключения к SQL, чтобы она указывала на базу данных компьютера, хранящего данные сеанса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2012, 16:29 |
|
||
|
какие настройки IIS могут влиять на время простоя
|
|||
|---|---|---|---|
|
#18+
всем спасибо! будем пробовать! Max Pro, у нас действительно кластер и timeout = 1440 для базы данных в конфиге в sessionstate ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2012, 16:47 |
|
||
|
какие настройки IIS могут влиять на время простоя
|
|||
|---|---|---|---|
|
#18+
chessar, там полторы тысячи минут.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2012, 16:49 |
|
||
|
какие настройки IIS могут влиять на время простоя
|
|||
|---|---|---|---|
|
#18+
Max Pro, у нас все сделано через настройки сервера состояния... из общения с админам и я понял, что все сделано так как вы и написали. вам большое спасибо, но проблема еще остается... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2012, 17:40 |
|
||
|
какие настройки IIS могут влиять на время простоя
|
|||
|---|---|---|---|
|
#18+
flashslashMax Pro, у нас все сделано через настройки сервера состояния... из общения с админам и я понял, что все сделано так как вы и написали. вам большое спасибо, но проблема еще остается... Вообще 15 минут - это меньше нормы (20 минут). Отсюда следует, что сессия слетает просто. У меня такое было при превышении лимита памяти. После отказа от практики хранения в сессии больших объектов, проблема исчезла. Проверьте, чтобы в сессии хранились только переменные "по значению", а не "по ссылке". Размер каждой переменной не должен превышать 16 байт - это булевские переменные, числа и гуиды. Строки уже работают "по ссылке", их храните в БД. Если БД недоступна, можно хранить строки в Вивстейте так называемом, но это сильно грузит трафик. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2012, 18:23 |
|
||
|
какие настройки IIS могут влиять на время простоя
|
|||
|---|---|---|---|
|
#18+
Max Pro, большое спасибо! буду проверять.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2012, 19:58 |
|
||
|
какие настройки IIS могут влиять на время простоя
|
|||
|---|---|---|---|
|
#18+
и вот, что я выяснил.. при создании сессии просто игнорируются настройка timeout в конфиге. и по умолчанию задано значение 20. Ессно, я сейчас эксериментирую, задав в коде явно значение таймаута = 100. странно все это... может быть такое, что при авторизации игнорируется настройки конфига? а то, выходит, что нужно писать код, который вытаскивает значение таймаута из конфига и задает это значение для сессии... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.07.2012, 19:17 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=37867959&tid=1359425]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
180ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 276ms |
| total: | 548ms |

| 0 / 0 |
