Как использовать PRISM в приложениях службы C # windows? - PullRequest
2 голосов
/ 14 мая 2011

Я пытаюсь создать приложение службы Windows, в которое я смогу добавить модули, как мы это делаем в WPF и Silverlight.Вот как я бросил:

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);
    }        
}

Есть ли там какой-нибудь образец?

1 Ответ

1 голос
/ 15 мая 2011

блокировка на это .Вы можете скачать образец, как показано на рисунке

После загрузки и установки призмы (v4) в корневом каталоге у вас будет папка с именем stock trader.это то что тебе нужно!(запустить настольную версию).В разделе Модули вы можете найти папку с именем service.

Это просто, вы можете вызвать Wcf-сервис в этих методах прямо здесь. (Также вы можете использовать метод wcf как async-сервис)

...