Ответ 1
Вы не можете это сделать?
<system.web>
<authentication mode="Forms">
<forms timeout="20160"/>
</authentication>
</system.web>
Тайм-аут находится в минутах.
Это значение тайм-аута независимо от того, создаете ли вы постоянный файл cookie. Он просто говорит, что если вы явно не прекратите куки файл (FormsAuthentication.SignOut), он автоматически истечет по истечении заданного периода времени.
Другими словами, если вы это сделаете:
FormsAuthentication.SetAuthCookie(someMembershipName, false);
приведет к истечению срока действия файла cookie, если:
- Пользователь закрывает браузер или
- Достигнут тайм-аут.
В отличие от этого:
FormsAuthentication.SetAuthCookie(someMembershipName, true);
приведет к тому, что файл cookie истечет только после достижения таймаута.
НТН
ИЗМЕНИТЬ
Возьмите MSDN:
атрибут timeout описывается следующим образом:
Задает время, в целочисленном минут, после чего печенье истекает. Если SlidingExpiration атрибут true, тайм-аут атрибут - это скользящее значение, истекающее в указанное количество минут после того, как последний запрос был получен. Чтобы предотвратить производительности и избегать множественных предупреждения браузера для пользователей, которые предупреждения о файлах cookie, cookie обновляется, когда более половины указанное время истечения. Это может вызывают потерю точности. По умолчанию "30" (30 минут).
Примечание. В ASP.NET V1.1 persistent cookie не уходит, вне зависимости от того, настройка атрибута тайм-аута. Однако, как и в ASP.NET V2.0, постоянные куки файлы делают тайм-аут в соответствии с атрибутом тайм-аута.
Другими словами, этот параметр срока действия обрабатывает только файл cookie для проверки подлинности форм.
Файл cookie для проверки подлинности форм является файлом cookie на стороне клиента, он не имеет ничего общего с другим сеансом на стороне сервера, который у вас может быть (например, в корзине покупок).
Срок действия этого сеанса истек со следующей настройкой:
<sessionstate
mode="inproc"
cookieless="false"
timeout="20"