vendredi 20 janvier 2017

How to increase the performance for login response

I am working on one MVC application. After clicking on login button it is taking me almost 7 second to redirect on home page which is not a good response time as per performance. Please help me how to make response time better. Below is my controller code.

public ActionResult UserLogIn(Models.LogIn user)
        {
            if (ModelState.IsValid)
            {
                if (IsValid(user.User_Id, user.User_Password))
                {
                    using (var db = new CopaRuleContext())
                    {
                        var ApproveUsers = db.tbl_User.Where(u => u.User_Approved == "Yes" && u.User_Id == user.User_Id).ToList();
                        var UserDetails = db.tbl_User.FirstOrDefault(u => u.User_Id == user.User_Id);

                        string UserRole = UserDetails.User_Role;
                        if (UserRole != null)
                        {
                            Session["UserRole"] = UserDetails.User_Role;
                        }

                        var rolename = db.tbl_Roles.FirstOrDefault(u => u.Role_Name == UserRole);
                        if (rolename != null)
                        {
                            Session["RoleName"] = rolename.Role_Description;
                        }

                        var firstname = UserDetails.User_First_Name;
                        var lastname = UserDetails.User_Last_Name;

                        firstname = firstname.Substring(0, 1).ToUpper() + firstname.Substring(1).ToLower();
                        lastname = lastname.Substring(0, 1).ToUpper() + lastname.Substring(1).ToLower();

                        Session["UserName"] = firstname + ' ' + lastname;
                        Session["UserId"] = UserDetails.User_Id;
                        if (ApproveUsers != null && ApproveUsers.Count() > 0)
                        {
                            if (UserDetails.User_Is_Deleted != 1)
                            {
                                Session["Process"] = "PP";
                                if (UserRole == "Role-1")
                                {
                                    FormsAuthentication.SetAuthCookie(user.User_Id, false);
                                    return RedirectToAction("Notification", "Inbox");
                                }
                                else if (UserRole == "Role-2")
                                {
                                    FormsAuthentication.SetAuthCookie(user.User_Id, false);
                                    return RedirectToAction("Clear", "Clear");
                                }
                                if (UserRole == "Role-3")
                                {
                                    FormsAuthentication.SetAuthCookie(user.User_Id, false);
                                    return RedirectToAction("Notification", "Inbox");
                                }
                                if (UserRole == "Role-4")
                                {
                                    FormsAuthentication.SetAuthCookie(user.User_Id, false);
                                    return RedirectToAction("Notification", "Inbox");
                                }
                            }
                        }
                    }
                }
            }
            return View(user);
        }

Aucun commentaire:

Enregistrer un commentaire