응용 프로그램의 크기와 복잡성으로 인해 여러 실버 라이트 라이브러리에서 기능이 분리되는 Silverlight 프로젝트가 있습니다. 웹 사이트 프로젝트에서 생성 된 RIA 도메인 서비스를 분리하는 가장 좋은 방법은 무엇인지 파악하는 데 문제가 있습니다. 필요에 따라 다른 Silverlight 응용 프로그램에 동적으로로드되므로 다른 라이브러리의 데이터에 액세스 할 수 있어야합니다.Silverlight 3 Ria Services 참조
1
A
답변
1
Silverlight 응용 프로그램의 Generated_Code 디렉토리에서 Visual Studio에 의해 생성 된 코드를 가져 와서 Ria DomainContext, 인증 서비스, 엔티티 및 기타 작성한 도메인 서비스를 분리하는 라이브러리를 여러 개 만듭니다. . 그런 다음 DomainContext 등의 인터페이스를 추출하여 자체 라이브러리에 저장했습니다. Silverlight 용 Microsoft의 Unity Framework를 사용하여 모든 프로젝트를 기본 프로젝트에서 분리 할 수있었습니다. 이제 모든 모듈이 인터페이스를 사용합니다. 기본 응용 프로그램에는 인터페이스를 구현하는 모든 클래스를 등록하는 IoC 컨테이너가 하나 있으며 인스턴스화 될 때 페이지에 주입됩니다. 결국 그것은 개종하지 않았습니다. 기억해야 할 점은 서버의 도메인 서비스 클래스에 EnableClientAccess 특성을 그대로두고 기본 Silverlight 응용 프로그램에서 ASP.Net 서버 프로젝트 링크를 제거하는 것입니다. 저는 Ria 서비스/Silverlight 3의 최종 릴리스에서 다른 사람들이 현재 설정에서 생성 된 긴밀한 연결에 대해 불만을 토로하기 때문에이 작업을보다 쉽게 수행 할 계획이라고 읽었습니다.