示例#1
0
        public ActionResult LogOut()
        {
            bool status = false;

            try
            {
                AccuIT.CommonLayer.Aspects.Exceptions.ExceptionEngine.AppExceptionManager.Process(() =>
                {
                    int loggenInUserID = HttpContext.Session[PageConstants.SESSION_USER_ID] != null ? Convert.ToInt32(HttpContext.Session[PageConstants.SESSION_USER_ID]) : 0;

                    if (loggenInUserID > 0)
                    {
                        status = UserBusinessInstance.LogoutWebUser(loggenInUserID, Session.SessionID);
                        Session.Abandon();

                        #region Clear All Cookies
                        HttpCookie aCookie;
                        string cookieName;
                        int limit = HttpContext.Request.Cookies.Count;
                        for (int i = 0; i < limit; i++)
                        {
                            cookieName      = HttpContext.Request.Cookies[i].Name;
                            aCookie         = new HttpCookie(cookieName);
                            aCookie.Expires = DateTime.Now.AddDays(-1);
                            Response.Cookies.Add(aCookie);
                        }
                        #endregion
                    }
                }, AspectEnums.ExceptionPolicyName.AssistingAdministrators.ToString());
            }
            catch
            {
            }
            if (status)
            {
                return(RedirectToAction("Login", "Account"));
            }
            else
            {
                return(View());
            }
        }