Подтвердить что ты не робот

Связь между Windows Service и Desktop Application

Я знаю, что подобные вопросы задавали раньше, но даже после всего моего Googling я все еще полностью потерян.

Я написал небольшую службу Windows, которая делает то, что мое основное приложение использовало в фоновом потоке (имело смысл переместить его в отдельную службу по нескольким причинам).

Когда фоновый поток запускался как часть моего приложения, он запускал событие каждый раз, когда он завершал работу (в этом случае обновление базы данных), и я использовал бы метку времени из этого события, чтобы получить соответствующую информацию для обновления окно. Я не думаю, что особенности релевантны, но, пожалуйста, дайте мне знать, если вам нужна дополнительная информация.

Теперь, когда у меня есть материал для заполнения базы данных, работающий как служба, вопрос становится следующим: Как заменить то, что раньше делало событие?

Другими словами, какой самый простой и/или наиболее эффективный способ передачи базового DateTime из моей службы в мое приложение?

Я никогда не делал IPC раньше, но начал читать на нем и был полностью запутан. Named Pipes покажется моим лучшим выбором, но я не смог найти ничего, что помогло бы мне понять их функциональность... Все, что я нашел, - это слабо комментируемые фрагменты кода или "учебники", которые идут глубже чем мне нужно, без четкого освещения основ.

Итак, не имея возможности создать хорошую базу, я немного застрял. Какой лучший способ реализовать простую связь, которая делает то, что мое событие использовало и где я могу узнать основы этого метода?

EDIT:

Как всегда, все здесь скалы, спасибо за все быстрые ответы. Ссылка Gerrie оказалась именно то, что мне было нужно (хотя я не знал, что мне было нужно в то время).

4b9b3361

Ответ 1

Не пугайтесь по именованным каналам, WCF позаботится о неприятных битах для вас. Вам нужно будет только выполнить настройку, это просто другой канал связи, вместо использования HTTP, например. Таким образом, вам нужно посмотреть в WCF.

Отметьте этот учебник.

Ответ 2

Другими словами, какой самый простой и/или наиболее эффективный способ передачи базового DateTime из моей службы в мое приложение?

Вы должны использовать named pipe в этом сценарии, хотя в других вариантах, которые у вас есть, MSMQ, веб-службы.