Тайм-аут сессии в ASP.NET

Полное внешнее соединение и объединение?

 select
   coalesce (r1.users, r2.users) as users,
   coalesce (r1.number_of_insert, 0) + coalesce (r2.number_of_insert, 0)
 from
   result_1 r1
   full outer join join result_2 r2 on
     r1.users = r2.users

Это предполагает, что ваш результат 1 и 2 наборы данных уже сформированы, как у вас было выше.

156
задан Brian Webster 18 January 2013 в 01:59
поделиться

4 ответа

Вы используете аутентификацию Форм?

аутентификация Форм использует его собственное значение для тайм-аута (30 минут по умолчанию). Тайм-аут аутентификации форм отправит пользователя в страницу входа в систему с сессией, все еще активной. Это может быть похожим на поведение, которое дает Ваше приложение, когда сессия приводит к таймауту упрощения перепутать один с другим.

<system.web>
    <authentication mode="Forms">
          <forms timeout="50"/>
    </authentication>

    <sessionState timeout="60"  />
</system.web>

Установка тайм-аута форм к чему-то меньшему чем тайм-аута сессии может дать пользователю окно, в котором можно войти в, не теряя данных сессии.

271
ответ дан HectorMac 23 November 2019 в 21:49
поделиться

У Вас есть что-нибудь в machine.config, который мог бы вступать в силу? Установка тайм-аута сессии в web.config должна переопределить любые настройки в IIS или machine.config, однако, если у Вас будет web.config файл где-нибудь в подпапке в Вашем приложении, то та установка переопределит тот в корне Вашего приложения.

кроме того, если я помню правильно, тайм-аут в IIS только влияет на .asp страницы, не .aspx. Вы уверены, что Ваш код сессии в web.config является правильным? Это должно посмотреть что-то как:

<sessionState
    mode="InProc"
    stateConnectionString="tcpip=127.0.0.1:42424"
    stateNetworkTimeout="60"
    sqlConnectionString="data source=127.0.0.1;Integrated Security=SSPI"
    cookieless="false"
    timeout="60"
/>
7
ответ дан Cᴏʀʏ 23 November 2019 в 21:49
поделиться

Это обычно - все, что необходимо сделать...

Вы уверенный, что после 20 минут, причина, что сессия проигрывается, от того, чтобы быть неактивным хотя...

существует много причин относительно того, почему сессия могла бы быть очищена. Вы можете включить регистрацию событий для IIS и можете тогда использовать средство просмотра события для видения оснований, почему сессия была очищена..., Вы могли бы найти, что это по другим причинам, возможно?

можно также читать документация для сообщений о событиях и связанное таблица событий .

8
ответ дан Santa Claus 23 November 2019 в 21:49
поделиться

Я не знаю о web.config или IIS. Но я полагаю, что от кода C# можно сделать это как

Session.Timeout = 60; // 60 is number of minutes
38
ответ дан Mawardy 23 November 2019 в 21:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: