public void LogOut() { if (AuthCookie == null) { return; } Logger.Debug($"Logging out from {ClientName}"); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(SessionUrl); CookieContainer cookieContainer = new CookieContainer(); cookieContainer.Add(request.RequestUri, AuthCookie); request.CookieContainer = cookieContainer; request.Method = "DELETE"; try { using (IHttpResponse response = DataSource.GetResponse(request)) { if (response.StatusCode == HttpStatusCode.OK || response.StatusCode == HttpStatusCode.NoContent) { AuthCookie = null; Logger.Debug($"Logged out from {ClientName}"); LogoutSucceeded?.Invoke(); } else { Logger.Debug($"Failed to log out from {ClientName}"); LogoutFailed?.Invoke(); } } } catch (WebException we) { Logger.Error($"Error during log out from {ClientName}", we); LogoutFailed?.Invoke(); } }