2011-05-14 1 views
2

WPF와 Silverlight에서 모듈을 추가 할 수있는 Windows 서비스 응용 프로그램을 만들려고합니다.PRISM을 C# windows 서비스 응용 프로그램에서 사용하는 방법?

public static class Program 
{ 
    public static string CurrentAppPath { get; set; } 

    static void Main() 
    { 
     Program.CurrentAppPath = Path.GetDirectoryName(
      System.Reflection.Assembly.GetEntryAssembly().Location); 

     ShellBootstrapper bootstrapper = new ShellBootstrapper(); 
     bootstrapper.Run(); 
    }  
} 

그리고 ShellBootstrapper 클래스 :

class ShellBootstrapper : UnityBootstrapper 
{ 
    protected override IModuleCatalog CreateModuleCatalog() 
    { 
     DirectoryModuleCatalog directoryCatalog = 
      new DirectoryModuleCatalog() { ModulePath = Program.CurrentAppPath }; 
     return directoryCatalog; 
    } 

    protected override System.Windows.DependencyObject CreateShell() 
    { 
     return null; 
    }   

    public override void Run(bool runWithDefaultConfiguration) 
    { 
     base.Run(runWithDefaultConfiguration); 

     ServiceBase[] ServicesToRun; 
     ServicesToRun = new ServiceBase[] 
     { 
      new MyService(logger) 
     }; 
     ServiceBase.Run(ServicesToRun); 
    }   
} 

밖에 어떤 샘플이 있습니까 이 내가 던져 가서 어떻게?

+0

이 조각 괜찮을 것 같다 (또한 비동기 서비스로 WCF의 방법을 사용할 수 있습니다). 너는 무엇을 놓치고 있니? 내가 바꿀 유일한 것은'새로운 MyService'를 제거하고 프리즘이 그것을 해결하도록하는 것입니다 - 모든 컨테이너에 대한 서비스를 얻기 위해'Container' 속성과'Resolve '를 사용하십시오. –

+0

서비스를 실행할 수 있었습니까? 나는 아직 실패했고, 나는 나의 서비스에서 EventAggregator와 Unity를 사용하고있다. – grefly

+0

이것에 대한 최신 정보? –

답변

1

자물쇠 this. 그림과 같이 샘플을 다운로드 할 수 있습니다.

프리즘 (v4)을 다운로드하여 설치 한 후 루트 디렉토리에 stock trader이라는 폴더가 있습니다. 그게 네가 필요한거야! (데스크톱 버전 실행). 모듈 섹션에서 service이라는 폴더를 찾을 수 있습니다.

이 간단

, 당신은 바로 여기에이 방법에 WCF 서비스를 호출 할 수 있습니다.

+0

안녕하세요, 링크는 Silverlight 및 Windows 바탕 화면에 대한 샘플을 많이 제공하지만 프리즘에 대한 Windows-Service 예제가 없습니다. –