내 MVC 응용 프로그램의 모든보기에 대해 로깅 된 사용자 (또는 아무도 아직 로그되지 않은 경우 null)의 인스턴스를 제공하고 싶습니다. 이미 InvokeAction을 재정의하고 ViewData (controllerContext.Controller.ViewData [ "LoggedUser"] = xxx)에 기록 된 사용자 인스턴스를 제공하는 자체 ControllerActionInvoker 클래스를 성공적으로 구현했습니다. 문제는 전체 응용 프로그램에서 기록 된 사용자 인스턴스를 전달하기 위해 강력하게 형식화 된 모델을 사용하고 싶습니다. 모든 강력한 형식의 ViewData 클래스에 대한 기본 클래스가 될 수있는 ApplicationViewDataBase 클래스와 로깅 된 사용자 인스턴스도 제공 할 생각이었습니다. 내 모든보기에서 기록 된 사용자 인스턴스에 쉽게 액세스 할 수 있습니다.MVC - 모든 뷰에 대해 강력한 형식의 ViewData/Model을 어떻게 든 전역 적으로 채울 수 있습니까?
ControllerActionInvoker.InvokeAction 오버라이드를 달성 한 것처럼 강력하게 형식화 할 수 있습니까? 아니면 Page.User에 내 User 인스턴스를 제공하는 것이 더 낫습니까? Page.User를 사용하는 것이 더 매끈 할 것 같지만 내 사용자 인스턴스를 삽입하는 방법을 찾지 못했습니다 ...
나는 그 요점을 놓치고 있다고 생각합니다. 응용 프로그램에는 로그인 한 사용자의 응용 프로그램 별 세부 정보를 저장하는 사용자 정의 사용자 클래스가있는 것이 일반적입니다. 문제는 로그인 한 사람을 찾는 것이 아니라 모든 관련 코드가 액세스 할 수 있도록 응답 처리시 데이터베이스에서 해당 사용자 개체를 일찍로드하는 것입니다. – christutty