Сервис Windows с помощью инструмента управления WPF
Вопрос
Я пытаюсь создать службу Windows с C # в .NET, которая работает до того, как пользователь вошел в систему ... Затем, когда пользователь вошел в систему на символе, должен появиться в системном лотке (рядом с часами), чтобы показать пользователю, что служба работает. Двойной щелкнув этот символ Утилита конфигурации (написана в WPF) для пользователя, чтобы он мог настроить сервис, чтение данных из него и так далее ..
Есть возможность сделать это в одном приложении?
заранее спасибо за любую помощь !!!
Решение
Нет, вы не можете сделать это с одним приложением, поскольку службы работают с другим пользователем на другом сеансе.Вам необходимо создать два приложения и реализовать некоторую связь между обоими.
Я не рекомендовал бы использовать с именованными трубами напрямую (например, Kieren Johnstone), но чтобы посмотреть на WCF, который был разработан для интерпретирования связи и красиво рефессионных деталей реализации технологий связи от вас.Вот ссылка, которая может способно помочь вам с WCF: http://www.switchonthecode.com/tutorials/wcf-tutorial-basic-interProcess-Communication .
наилучшие пожелания,
Оливер Ханаппи
Другие советы
в пределах одного приложения, нет. Услуги работают в сеансе 0, см. Здесь:
http://www.microsoft.com/whdc/system/sysisnernals /session0changes.mspx
Ваша лучшая ставка - использовать названные трубы, см. Здесь:
http://www.switchonthecode.com/tutorials / dotnet-35-Adds-named-pips-support
.... или память отображается файл, см. Здесь:
В рамках более-.Netty вы также можете использовать отступление. Вам нужно будет придумать какой-нибудь интерфейс или протокол, чтобы облегчить связь между службой и утилитой управления. Управление началом / остановкой процесса было бы проще, и вы можете использовать класс ServiceController
( msdn ref ).
Надеюсь, что помогает (и его не слишком обескураживает)!