/// <summary> /// EventHandler of the <see cref="Timer.Elapsed"/> event. /// Refresh token and update timer(<paramref name="sender"/>). /// Fire failed or renewed events depending on the refresh token result /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void CurrentTokenExpired(object sender, ElapsedEventArgs e) { var timer = sender as Timer; if (timer == null) { OnRenewTokenFailed(EventArgs.Empty); return; } timer.Stop(); //try refreshing the token var renewalSuccessful = RetrieveAccessToken(); if (!renewalSuccessful) { OnRenewTokenFailed(EventArgs.Empty); return; } SetTimerIntervalAndStart(timer); var args = new TokenRenewedEventArgs { TokenInfo = Info }; OnTokenRenewed(args); }
/// <summary> /// Fire the <see cref="TokenRenewed"/> event. /// </summary> /// <param name="e"></param> protected virtual void OnTokenRenewed(TokenRenewedEventArgs e) { TokenRenewed?.Invoke(this, e); }