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(); } }