2017-01-20 5 views
0

Я работаю над одним приложением MVC. После нажатия кнопки входа в систему мне требуется почти 7 секунд для перенаправления на домашней странице, что не является хорошим временем отклика по производительности. Пожалуйста, помогите мне, как улучшить время ответа. Ниже приведен код моего контроллера.Как увеличить производительность для ответа на вход

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); 
     } 

ответ

0

У меня возникла проблема с шифрованием паролей. Я использовал метод солевого хэша для шифрования пароля, который влиял на производительность входа. Я изменил его с шифрованием SHA1, и производительность стала невероятно быстрой.

Смежные вопросы