로그인 화면이있는 응용 프로그램이 있습니다. 상당히 일반적인 시나리오입니다. 사용자가 인증을받은 후에는 그 사람을 저장해야합니다. 왜냐하면 그 사람의 권한에 따라 행동해야하기 때문입니다. 물론 저장할 자산이 더 많습니다.WPF에 현재 로그인 한 사용자를 저장하는 방법
best
달성 방법 이? 저는 현재 두 가지 옵션을 평가하고 있습니다 :
1.) 내 viewmodels
2
)App.Current.Properties
를 사용하고 거기에 저장에있는 싱글 톤 (또는 정적 속성)와 참조를 사용합니다. 그런 다음 일부 정적 도우미 메소드를 사용하여 앱 전체에서 사용자를보다 쉽고 일관성있게 검색 할 수 있습니다.
또는 다른 옵션을 고려할 수 있습니까? 제안 해 주셔서 감사합니다.
세션 기간 동안 메모리에 사용자를 저장하는 것에 대해 이야기하는 것처럼 보입니까? 그렇다면 왜 필요한 모든 속성을 가진 User 클래스를 만들고 기본 뷰 모델에서이 사용자 클래스의 인스턴스에 대한 참조 (싱글 톤일 수 있음)를 저장하지 않는 것이 좋습니다. 사용자 속성에 액세스해야하는 다른보기 모델에서 기본보기 모델로 메시지를 보내지 않고 기본보기 모델이 해당 사용자 클래스의 인스턴스에 대한 참조를 사용하여 메시지를 다시 보낼 수 있습니다. –
@DeanKuga, 어쩌면 좀 더 구체적인 예를 들자면 asp.net에서 세션을 사용하여 사용자 별 데이터를 저장할 수 있습니다. 그런 다음이 세션 변수를 참조하여 개별 페이지에서 필요한 항목을 검색하기 만하면됩니다. WPF에서 대안은 무엇입니까? 싱글 톤은 단위 테스트와 관련해서는 다소 문제가 있기 때문에 불가능하다고 생각하기 시작했지만 가능한 한 피하려고 노력하고 있습니다. 때로는 가장 쉬운 솔루션이 최고의 솔루션이라고 생각합니다. – walther
MEF에 의존성을 추가하는 것은 과잉이라고 생각합니다. 왜 싱글 톤이되어야하는지 알지 못합니다. 로그온 할 때 User 클래스의 인스턴스를 필요에 따라 다른보기 모델에 대한 참조를 보내려면 ...보기 모델 간의 통신에 대한이 대답을 확인하십시오. http://stackoverflow.com/a/14361984/229930 –