示例#1
0
        protected void EnsureSessionIsValid()
        {
            if (_session == null)
            {
                return;
            }

            bool     nearExpiry         = Platform.Time.Add(TimeSpan.FromMinutes(SessionRenewalOffsetMinutes)) > _session.SessionToken.ExpiryTime;
            TimeSpan timeSinceLastCheck = TimeSpan.FromMilliseconds(Environment.TickCount - _lastSessionCheckTicks);

            if (nearExpiry || timeSinceLastCheck > _sessionPollingIntervalSeconds)
            {
                _lastSessionCheckTicks = Environment.TickCount;
                _session = UserAuthentication.RenewSession(_session);
                OnSessionRenewed();
            }
        }