Пример #1
0
        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;
                    }
                }
            }
        }
Пример #2
0
        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));
        }