2017-01-20 1 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

암호 암호화에 문제가있었습니다. 나는 salt 해시 기술을 사용하여 로그인 성능에 영향을 미치는 암호를 암호화했습니다. SHA1 암호화로 변경했으며 성능이 매우 빨라졌습니다.

관련 문제