void NotifyLogoutUser(ActiveUser user) { if (LogoutUserHandler != null) { Delegate[] invkList = LogoutUserHandler.GetInvocationList(); foreach (LogoutActiveUser handler in invkList) { try { IAsyncResult ar = handler.BeginInvoke(user, null, null); Console.WriteLine("[Server]: User {0} Logged out", user.Username); } catch (Exception e) { LogoutUserHandler -= handler; } } } }
public HttpResponseMessage LogOut(string ticket) { var securityProvider = new SecurityProvider(_connectionString); var sessionInfo = securityProvider.GetSessionInfo(ticket); if (sessionInfo == null) { return(Request.CreateResponse(HttpStatusCode.Unauthorized)); } var logOutRequest = new LogoutUserRequest { UserId = sessionInfo.User.Id }; var handler = new LogoutUserHandler(_connectionString); var response = handler.Handle(logOutRequest); var httpStatusCode = ResolveStatusCode(response); return(Request.CreateResponse(httpStatusCode)); }