2012-03-02 4 views
1

UI에 DTO를 전달하는 응용 프로그램에 WCF 서비스 계층이 있습니다.프로젝트에서 DTO의 실제 위치

내 DTO 클래스를 프로젝트에 배치하는 가장 좋은 위치는 어디입니까? DTO라는 다른 폴더가 있어야합니까? 아니면 DTO를 사용하는 서비스가있는 폴더에 배치해도 괜찮습니까?

답변

3

UI 레이어와 서비스 레이어가 모두 액세스 할 수있는 별도의 어셈블리 (예 : 폴더, 전용 어셈블리가 아닌)에 넣으십시오. 나는 보통이 레이어를 Entities이라고 부르며 보통 BTW는 다른 것들도 포함합니다.

+0

그러나 WCF 프록시를 통해 모든 것을 노출하므로 형식을 통해 내 클라이언트에 전달할 수 있습니다. 왜 추가 dll을 사용해야합니까? –

+0

어쨌든 두 어셈블리 모두 (WCF + UI) DTO 클래스를 "알아야"합니다. 그 밖에 어떻게 될 수 있습니까? 당신은 분명히 당신의 수업을 2 권 갖고 싶지는 않습니다. 그것은 공통의 장소에 있어야하며, 둘 다 참조가 해결책 인 제 3 어셈블리이어야합니다. –

+1

고객은 WSDL을 통해 내 DTO를 알고 있습니다. –

0

Service DTO를 SIL에 있어야하는 별도의 Service.Dto 프로젝트에 넣으십시오. 또한, "DTO를 UI로 전달"한다고 말하면 사람들이 혼란스러워했을 것입니다. 아마도 DTO를 서비스 클라이언트에 전달하는 것을 의미했을 것입니다.

관련 문제