Как уведомить службу Windows .net из PHP на Linux? - PullRequest
0 голосов
/ 15 июня 2010

Я пишу службу на C # в Windows, которая должна запускаться веб-интерфейсом, управляемым PHP, который работает в Linux.

Оба процесса используют одну и ту же базу данных SQL Server 2005.* Нет доступного промежуточного программного обеспечения для обмена сообщениями.

Процесс PHP вставляет строку в таблицу SQL Server.Процесс Windows должен прочитать эту запись и обработать ее.

У меня нет опыта работы с PHP, так что бы вы посоветовали уведомить о процессе Windows?

Ответы [ 4 ]

1 голос
/ 15 июня 2010

Я вижу как минимум 2 способа выполнить эту задачу:

  1. Хост в процессе службы WCF в службе Windows и вызова из PHP .
  2. Запись событий в базу данных из PHP и подписка на них с помощью SqlDependency .
0 голосов
/ 22 июля 2010

Я отвечаю на мой вопрос здесь, потому что в конце мы уведомили приложение через обычные старые сокеты.

Итак, правильный ответ на мой вопрос - использовать сокеты.

0 голосов
/ 15 июня 2010

Служба периодически опрашивает таблицу базы данных, в которую записывает процесс PHP.Я делаю что-то похожее, и у меня есть столбец в таблице, который для начала пуст, а затем устанавливается службой Windows после обработки строки.Служба просто запрашивает первую строку, которая содержит нулевое значение в этом поле, выполняет свою функцию, затем обновляет поле и затем повторяется.Таким образом, если происходит сбой системы или приложения, то при перезапуске он продолжается с этой необработанной строки.Не забудьте заключить в скобки ваши операции чтения и записи в транзакциях.

0 голосов
/ 15 июня 2010

Проверьте SqlDependency в .Net.Это позволяет вам установить триггер на сервере SQL.Пример приложения: MSDN .

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