나는 문자 그대로 모든 객체가 lastUpdatedBy 속성을 가진 곳에서 내 애플리케이션을 얻었습니다. 여기에 입력 한 정보는 세션 ("사용자 이름") 변수에서 검색된 사용자의 사용자 이름입니다.일련의 생성자를 사용하지 않고 세션 데이터를 클래스 라이브러리에 전달 하시겠습니까?
어떻게이 데이터를 클래스 라이브러리의 DAL에 전달할 수 있습니까?
는 처음에는 단지 각각의 방법으로 값을 전달했지만, 이것은 내가 때마다이 메소드가 호출 될 때 그렇게 할 이유가 없을 것 생각 말도 안돼. 그럼 난 그냥 훨씬 쉽게 만들 것이다는 DAL 관련 각 클래스에 대한 생성자에 넣어 경우도 생각했다.은 그러나, 여전히 특정 페이지에서, 나는 모든 단일 라인은 내가 문자열로 캐스트 세션 이름에 전달해야하는 새로운() 선언의 과다를 가지고있다.
내가 한 곳에서만이를 선언 할 수 있도록이 일을 더 여전히 더 효율적인 방법이 있나요, 모든 것이 그것이 무엇인지 알 수 내가 클래스 라이브러리의 클래스에 전달할 수 있습니까?
여기에 귀하의 첫 번째 점을 입증하는 좋은 링크는 다음과 같습니다 http://www.codeproject.com/KB/aspnet/session_facade.aspx – derek
를 당신은 당신의 두 번째 제안의 예를 제공 할 수 있을까요?나는 클래스 라이브러리가 세션을 사용할 수 없기 때문에 이것을 어떻게 할 것인지 혼란 스럽다.하지만 나는 의존성 주입을했다. 내 DAL 클래스에 하나의 매개 변수, 세션 변수에 내 DAL 클래스의 일부 변수를 설정하는 세션 변수를 반환하는 클래스와 생성자를 가질 것이라고 지금 당신이 값 대신 클래스를 사용하지만, 어떻게 이것이 가능하다 ? 그것은 여전히 세션에 액세스 할 수없는 클래스 라이브러리의 클래스입니다. – SventoryMang
@ sah302 나는 당신이 묘사 한 것과 같은 수업을 주입하는 것을 의미했다. (즉, 그 끔찍한 것이지만, 대신 리터럴 문자열 값을 주입 할 수있다.) DAL에서 인터페이스를 선언하면 DAL에 필요한 것을 설명하고 실제 구현은 DAL에 포함되지 않습니다. 컨텍스트/세션에 대한 액세스 권한이있는 상위 계층에서이를 구현할 수 있습니다. – eglasius