모든 응용 프로그램과 라이브러리를 공유해야합니다. Project1.xap, Project2.xap 및 Project3.xap이라는 3 개의 XAP 프로젝트가 있다고 가정 해 보겠습니다. 이 모든 프로젝트는 로직을 공유하는 실버 라이트 클래스 라이브러리를 참조해야합니다. 이 공유 프로젝트에서 루트 응용 프로그램에 의해 구현되는 인터페이스를 만들 수 있습니다. 이 IApplicationContext를 호출 해 보겠습니다.
루트 응용 프로그램은 다른 모든 XAP를로드하는 XAP 파일입니다. Root.xap이라고 부르 자. 이것은 인증을 관리하고 작성시 다른 XAP로 전달할 IApplicationContext 구현을 작성합니다.
// This is available for all projects (shared.dll)
public interface IApplicationContext
{
string Username { get; }
Guid SessionId { get; }
// ...
}
// This is implemented in the root application (Root.xap)
public class MyAppContext : IApplicationContext
{
public string Username { get; private set; }
public Guid SessionId { get; private set; }
// ...
}
당신은 응용 프로그램 사이에 아무것도 공유 할 수 있습니다, 당신은 항상 스텁 /를 IApplicationContext을 조롱 할 수 있기 때문에 검증 별도의 프로젝트를 유지합니다.