MVC 5 인터넷 응용 프로그램을 개발 중이며 ApplicationUser
객체에 사용자 정의 객체를 갖는 것과 관련하여 질문이 있습니다.MVC 5 - ApplicationUser 객체 검색
내 MVC 5 응용 프로그램의 객체에 대한 최대 개수 변수를 많이 보유하고있는 ApplicationUser
객체에 public virtual Account account
객체가 있습니다. 이 값은 사용자가 계정을 등록 할 때 각 사용자에 대해 설정됩니다.
모델 개체를 만들기 전에 사용자가 모델 개체의 최대 개수를 초과하지 않았는지 확인합니다. 이는 오브젝트에 대한 서비스 클래스에서 수행됩니다.
var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext()));
ApplicationUser user = userManager.FindByNameAsync(userName).Result;
int maxFiles = user.account.maxFiles;
나는 ApplicationUser
개체를 검색하기 위해 유사한 코드 많은 개체에 대한 많은 서비스 클래스를 사용하고 있습니다 : 여기
내 질문은 : 각 서비스 클래스에 대해 매번 ApplicationUser
개체를 검색하는 대신 사용자가 로그온 할 때이 개체를 저장 한 다음 모델 개체를 만들기 전에이 개체를 참조 할 수 있습니까? 그렇다면 위의 목적을 위해이 객체를 어디에 저장할 수 있습니까?
또한 ApplicationUser
개체를 검색 할 때 얼마나 많은 메모리/대역폭이 사용됩니까? 모델 객체를 만들기 전에 매번 ApplicationUser
객체를 검색 할 때 메모리/대역폭에 대해 걱정할 필요가없는 최소한의 메모리/대역폭이 사용 되었습니까?
미리 감사드립니다.
해당 체크가 꽤 중요한 경우 (예를 들어, 변경 사항이 발생하면 변경 사항을 반영해야합니다) 그런 다음 그대로 두어야합니다. ** 그 많은 오버 헤드가 아닙니다. 솔직히. 중요하지 않은 경우 쿠키/세션/캐시에 저장해보십시오. – mattytommo
.NET Framework의 'MemoryCache'클래스를 사용하여 사용자 조회를 데이터 캐시에 저장합니다. 원하는만큼 오랫동안 각 사용자 객체를 캐시하도록 구성 할 수 있으며 지속성 소스 (데이터베이스)에 대한 적중 횟수를 줄일 수 있습니다. –