문제

응용 프로그램의 크기와 복잡성으로 인해 여러 Silverlight 라이브러리에서 기능이 분리되는 Silverlight 프로젝트가 있습니다. 웹 사이트 프로젝트에서 생성되는 RIA 도메인 서비스를 분리하는 가장 좋은 방법을 파악하는 데 문제가 있습니다. 필요에 따라 다른 라이브러리의 데이터에 동적으로로드되므로 다른 라이브러리의 데이터에 액세스 할 수 있어야합니다.

도움이 되었습니까?

해결책

결국 기본 실버 라이트 애플리케이션의 Generated_Code 디렉토리에서 Visual Studio에 의해 생성되는 코드를 가져 와서 RIA 도메인 컨텍스트, 인증 서비스, 엔티티 및 기타 도메인 서비스를 분리하기 위해 여러 Silverlight 라이브러리를 생성했습니다. 그런 다음 DomainContext 등의 인터페이스를 추출하여 자체 라이브러리에 넣었습니다. Silverlight의 Microsoft의 Unity Framework를 사용하여 기본 프로젝트에서 모든 모듈을 분리 할 수있었습니다. 내 모든 모듈은 이제 인터페이스를 사용합니다. 메인 애플리케이션에는 인터페이스를 구현하는 모든 클래스를 등록하고 인스턴스화 될 때 페이지에 주입되는 IOC 컨테이너가 하나 있습니다. 결국 그렇게 한 적이 없습니다. 기억해야 할 유일한 것은 서버의 도메인 서비스 클래스에 enableclientAccess 속성을 남겨두고 기본 실버 라이트 애플리케이션에서 ASP.NET 서버 프로젝트 링크를 제거하는 것입니다. 다른 사람들이 현재 설정에 의해 생성 된 엄격한 커플 링에 대해 불평했기 때문에 RIA Services/Silverlight 3의 최종 릴리스에서 더 쉽게 만들 계획이라는 것을 읽었습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top