Вызов метода в удаленной службе Windows - PullRequest
0 голосов
/ 21 марта 2009

Я работаю над новой системой лицензирования программного обеспечения наших компаний. Мы используем DeployLX для нашего лицензирования и, в целом, он отвечает нашим потребностям. Одним из вариантов, который мы хотим предоставить, является лицензия на одновременное использование, при которой клиент может установить наше программное обеспечение на сервере, а пользователь использует наши продукты через соединение RDP. Если они приобрели 10 лицензий, мы разрешим запустить 10 экземпляров нашего программного обеспечения (на сервере)

Мы создали Concurrent Monitor в C # для управления лицензией, и это прекрасно работает, если нам нужно только запустить наше программное обеспечение с 1 сервера. Однако ряд наших клиентов используют балансировку нагрузки в конфигурациях фермы серверов, поэтому нам необходимо установить монитор конфигурации на одном сервере и наше программное обеспечение на всех других серверах. Эти серверы должны будут подключиться к этому одному серверу, чтобы связаться с Concurrent Monitor и проверить лицензию (которая относится к Concurrent Monitor, а не к нашему программному обеспечению).


Вопросы:

В настоящее время Concurrent Monitor является службой Windows, установленной на сервере (сервер 1). Итак, как мне кодировать контакт для метода в Concurrent Monitor из нашего программного продукта на других серверах (скажем, на серверах 2 и 3)?

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

Ответы [ 2 ]

1 голос
/ 21 марта 2009

Вам было бы гораздо лучше выставить метод с помощью удаленного взаимодействия WCF или .net (я бы предпочел более раннее)

1 голос
/ 21 марта 2009

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

я. Пусть каждый сервер записывает в стандартное местоположение количество подключений, которые он обрабатывает. Concurrent Monitor должен прочитать это значение.

ii. Реализовать сервис как удаленный клиент, чтобы Concurrent Monitor мог вызывать эту функцию.

III. Выполните сервисный вызов Concurrent Monitor, чтобы обновить количество подключений, когда оно изменится.

Вы можете выбрать этот или альтернативные подходы в зависимости от того, что легко вписывается.

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