я пытаюсь создать сервис окон с C# в .NET, который работает, прежде чем пользователь зарегистрирован... затем, когда пользователь зарегистрирован, символ, должно казаться, в системном лотке (рядом с часами) показывает пользователю, что услуга работает.. путем двойного щелчка по тому символу средство конфигурирования (записанный в wpf) нужно показать пользователю, таким образом, он может настроить сервис, считать данные с него и так далее..
существует ли возможность сделать это в рамках одного приложения?
заранее спасибо за любую справку!!!
] Нет, вы не можете сделать это с одним приложением, поскольку службы работают с другим пользователем в другом сеансе. Вам нужно создать два приложения и реализовать некоторую связь между ними.
Я бы не рекомендовал использовать именованные каналы напрямую (например, Кирен Джонстон предложил ), но хотел бы взглянуть на WCF, который был разработан для межпроцессного взаимодействия и красиво абстрагирует от вас детали реализации коммуникационной технологии. Вот ссылка, которая, вероятно, может помочь вам с WCF: http://www.switchonthecode.com/tutorials/wcf-tutorial-basic-interprocess-communication .
С уважением,
Оливер Ханаппи
В одной заявке нет. Службы работают в сеансе 0, см. Здесь:
http://www.microsoft.com/whdc/system/sysinternals/session0changes.mspx
Лучше всего использовать именованные каналы, см. Здесь:
http://www.switchonthecode.com/tutorials/dotnet-35-adds- named-pipes-support
.... или файл с отображением памяти, см. здесь:
http://msdn.microsoft. com / en-us / library / dd997372.aspx
В рамках more-.NETty вы также можете использовать удаленное взаимодействие. Вам нужно будет придумать какой-то интерфейс или протокол для облегчения связи между службой и утилитой управления. Управлять запуском / остановкой процесса было бы проще, и вы могли бы использовать класс ServiceController
( MSDN ref ).
Надеюсь, что это поможет (и не слишком обескураживает)!