저는 서버와 클라이언트가있는 WCF 응용 프로그램에서 작업하고 있습니다 (당연히). 서버 프로젝트에서 나는 계약 속성으로 클래스를 정의했습니다.WCF : 클라이언트와 서버에서 계약 클래스를 어떻게 유지해야합니까?
이제 서버가 준비되면 서비스 참조를 추가하고 나를 위해 프록시를 만들었습니다. 나는 그것을 사용하고 그것은 잘 작동하지 않았다.
계약 속성이있는 클래스 정의가 들어있는 공통 DLL을 만들고이를 Visual Studio에서 클라이언트 용으로 생성 된 클래스를 사용하는 대신 서버와 클라이언트 모두에 사용하면 괜찮습니까? . 공통 클래스를 사용하는 경우 자동 코드 생성 중에 제네릭 컬렉션이 배열로 변환되는 것에 대해 걱정할 필요가 없습니다. 어리석은가요? 가능한가? 아무도 전에 이것을 해본 적이 있습니까? 이것을 할 수 있습니까?
배포 시나리오는 보안 인트라넷에 클라이언트의 수가 제한되어 있고 서버에 변경 사항이있을 때마다 기존 클라이언트를 업데이트하는 것이 좋습니다.
그 뿐만이 아닙니다. 이 클래스에 변경이있을 때마다 서비스 참조를 업데이트합니다. 또한 IDE에서 코드를 적게 생성하면 더 편하게 사용할 수 있습니다. 나는이 접근법을 따르는 경우, 표준/지침에 대해 금기 사항이나 끔찍한 일을하지 않을 것이라고 확신하고 싶었다. – Hemant
변경 사항을 적용 할 때마다 서비스 참조를 업데이트 할 필요가 없습니다. 계약을 변경할 때만 가능합니다. 당신이 그렇게 자주하지 않기를 바랍니다. 서비스 팩토리 (http://www.codeplex.com/servicefactory) 사용을 고려해 볼 수도 있습니다. 클라이언트와 서비스를 함께 업데이트합니다. –