2009-08-07 3 views
2

내 모델이 WCF 서비스 일 수있는 방법을 이해하지 못합니다. 클라이언트에 상주하는 Astoria 부분 클래스가 원격 호출이 지속 호출을 수행 할 수 있지만 WCF 서비스에는 데이터 저장소를 업데이트하는 데 사용할 수있는 모델 필드에 대한 속성이 없을 때 의미가 있습니다.MVVM 및 WCF - 모델 및 모델 관계보기

모델/도메인 객체 클래스의 인터페이스를 별도의 어셈블리로 분해 할 수 있다고해도 Silverlight 프로젝트는이를 참조로 추가 할 수 없습니다.

내 ViewModel은 내 WCF 호출을 어떻게 포함해야합니까? 궁극적으로 WCF는 Linq-to-SQL로 구현 된 저장소 어셈블리를 호출하지만 분명히이 엔티티는이 시나리오에서 내 모델이 아니며 WCF 클래스는 무엇입니까?

이에 대한 안내를 제공해 주셔서 감사합니다.

  1. http://development-guides.silverbaylabs.org/Video/Silverlight-Prism#videolocation_0
  2. http://blogs.conchango.com/davidwynne/archive/2008/12/15/silverlight-and-the-view-viewmodel-pattern.aspx
  3. http://msdn.microsoft.com/en-us/magazine/dd458800.aspx

답변

5

당신이에서 WCF 서비스에 대한 서비스 참조를 만들 :

또한

, 내가 읽은 글은 참조 프레임을 제공합니다 Silverlight 프로젝트에서는 해당 서비스의 인터페이스도 생성합니다. 위 목록에있는 기사의 David Wynns IFeedService와 비슷합니다. 서비스 참조는 또한 서비스 (제품, 카테고리 등)가 사용하는 객체를 나타내는 프록시 객체를 생성합니다.

중요한 점은 서비스 인터페이스는 모델이 아니라 모델에 액세스하는 방법입니다. David의 예를 보면, ViewModel은 항목 목록 (모델)을 노출하고,이 목록은 서비스를 사용하여 검색됩니다.

클라이언트와 서버간에 코드를 공유하려는 경우 RIA 서비스와 같은 것을 찾아야합니다. 이것이 당신에게 적합하지 않다면, 나는 서버와 클라이언트 사이에 (링크로 추가를 통해) 코드 공유에 관한 몇 가지 기사를 살펴볼 것이다.

희망이 도움이되었습니다.