.Net4 백엔드와 Silverlight 5 프런트 엔드간에 공유하려는 대형 개체 구조가 있습니다. 적절한 유형의 두 개의 클래스 라이브러리 프로젝트를 만들고 .NET 라이브러리에서 구현 된 객체 구조를 SL 라이브러리에 연결했습니다. Silverlight 클라이언트 측에서 Silverlight 클래스 라이브러리를 참조합니다. 서비스 참조를 생성 할 때 "참조 된 어셈블리에서 유형 재사용"옵션을 선택했습니다. 그러나 서비스 참조를 생성 할 때 참조 된 어셈블리에있는 유형이 여전히 생성되고 있음을 알게됩니다. 특정 유형에만 해당하며 대부분 컬렉션 유형 (<CollectionDataContract>
으로 지정) 인 것으로 보입니다. Silverlight 서비스 참조 생성 - 프록시 클래스를 생성하는 원인을 알리는 방법
List<MyTypeB>
에서 그들이
MyListTypeB
있습니다 중 하나
List<MyTypeA>
또는 일부의 경우,
MyListTypeB
상속을 많은 속성을 가진 주된 목적이있다. 프록시가 생성되도록하는
MyListTypeB
과 비슷한 클래스 인 것으로 보입니다. 이들은 모두
<CollectionDataContract>
으로 지정되며 기본 생성자가 있습니다.
또한 나는 서비스 참조를 추가 할 프로젝트가 다른 SL 프로젝트에 대한 참조를 가지고 있지만 엔티티가 포함 된 프로젝트를 업데이트 할 때 dll에 대한 새로운 참조가 직접 추가된다는 것을 알게되었습니다 프로젝트에. 왜 이런 일이 일어나고 있는지, 아니면 서비스 프록시 생성에 혼동을 일으키는 지 확실하지 않습니다.
서비스 생성에서 프록시 클래스를 생성하는 원인이되는 클래스/속성을 알 수있는 방법이 있습니까? 또는 시행 착오를 일으킬 때까지 속성을 주석으로 처리해야하는 경우입니까?
흠. 좋아, 나는 프록시에서 생성되고 있었다 클래스는 사실을 발견 정말로 단지 : System.Collections.ObjectModel.ObservableCollection 형 클래스 및/CT 매개 변수 SLSvcUtil를 사용하여 프록시를 생성하여에서이 문제를 방지 함 생성됩니다. 합리적으로 큰 팀에서 일하고 있지만 devs가 slsvcutil을 실행해야하는 것은 아닙니다. 서비스 참조 추가 대화 상자를 통해이 기능을 수행 할 수 있습니까? –
hitch