2016-07-11 2 views
1

ASP.NET Core RC2를 사용 중이고 UserManager 클래스의 FindByNameAsync() 메서드가 데이터베이스 호출을 만들어 IdentityUser 개체를 얻는 지 또는 가져 오는 경우를 결정하려고합니다. 메모리의 IdentityUser 개체 내가 수동으로하려는 일을 성취 할 수 있기 때문에 불필요한 데이터베이스 호출을하고 싶지 않습니다. 그러나 FindByNameAsync()을 사용할 수 있다면 코드는 더 깨끗합니다.ASP.NET Core UserManager FindByNameAsync 데이터베이스 호출 또는 메모리에서

GitHub에서 UserManager 클래스의 소스 코드를 찾았지만 실패했습니다. 누구든지 특정 ASP.NET 코어 클래스의 소스 코드를 GitHub에서 검색하는 방법에 대한 조언이 있습니까?

+1

데이터베이스 인 SQL 서버를 쿼리 않습니다 UserStore FindByNameAsync를 호출하고 UserStore의 기본 EntityFramework 구현을 사용하고 계십니까? SQL Server Management Studio에는 데이터베이스에 대한 모든 쿼리를 볼 수있는 프로파일 러가 있습니다. – mason

+1

이 유형의 것을 쉽게 검색 할 수있는 간단한 방법은 없습니다. 그러나 UserManager는 ASP.NET Identity 프로젝트의 일부임을 알고있을 것입니다. GitHub의 Microsoft 조직은 aspnet이라고합니다. [해당 조직을보실 수 있습니다] (https://github.com/aspnet). 그런 다음 ID 프로젝트를 찾습니다. 그런 다음 원하는 클래스를 검색하십시오. – mason

+0

@mason - 두 의견 모두 매우 유용했습니다. 고맙습니다! –

답변

3

UserManager는 code here FindByNameAsync는 데이터베이스

+0

mason의 제안에 따라 SSMS 프로파일 러를 사용하여 데이터베이스 호출을 실제로 확인했습니다. 감사! –

+0

또한 UserManager의 메서드는 가상이므로 'ApplicationUserManager'에서 재정의하거나 캐싱 지원을 추가 할 수 없습니다 (또는 기본'IUserStore'에서 사용하거나 어쩌면 데코레이터 패턴을 사용하는 경우도 있습니다) – Tseng

관련 문제