общаться между сервисом win и приложением win - PullRequest
1 голос
/ 06 марта 2011

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

У меня есть еще один вопрос: если я запустил свою выигрышную форму с помощью службы Windows и если я не закрою свою форму, она закроется, если пользователь выйдет из системы, это правда?

Ответы [ 3 ]

4 голосов
/ 06 марта 2011

Существует множество вариантов:

  • WCF
  • .NET Remoting
  • общая память
  • именованные каналы
  • обычныйTCP

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

0 голосов
/ 07 марта 2011

На самом деле служба Windows используется для выполнения операции, которая должна выполняться независимо во временном интервале. У него нет пользовательского интерфейса, который показывает ход операции.

См. Пример ситуации, когда вы можете использовать службу Windows ...

Например: если таблица содержит n записей, каждая запись должна быть обработана. Предположим, что обработка может занять несколько минут, что может привести к некоторому превышению времени ожидания в asp.net, вы можете запустить этот процесс с помощью службы Windows. Вы можете установить таймер внутри службы Windows, чтобы запланировать обработку строки (по одной строке за раз и завершить всю обработку строки к концу дня).

0 голосов
/ 06 марта 2011

Ондрей ответил на первую часть вашего вопроса.Вы также спросили:

У меня есть еще один вопрос, если я запустил свою выигрышную форму с помощью службы Windows и если я не закрою свою форму, она будет закрыта, если пользователь выйдет из системы, это правда?

Ну, во-первых, служба работает без какого-либо пользовательского интерфейса, без каких-либо форм.Если ваша служба должна общаться с вашим пользователем, то это то, для чего вам нужно ваше приложение.

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

...