2011-05-06 16 views
9

Tengo un servicio de Windows (.net) que es una implementación de un protocolo personalizado. Necesito monitorear este servicio desde múltiples clientes de escritorio (paquetes recibidos, rechazados, errores y cosas por el estilo).¿la mejor estrategia para monitorear/administrar servicios de Windows de clientes múltiples ?. (C#)

Estoy evaluando diferentes alternativas (remoting, socket multicast, etc.), pero me gustaría saber si este problema tiene una solución estándar. Creo que este es un escenario muy común, si piensas en servicios como IIS, componentes reparados, etc., puedes conectarte de forma remota desde muchos clientes al mismo tiempo y administrar el servicio.

Agradezco sugerencias y ejemplos.

Gracias de antemano.

+0

Posibles duplicados: [Comunicación con un servicio de Windows] (http://stackoverflow.com/questions/3294502/communicating-with-a-windows-service), [Cómo comunicarse con un servicio Win] (http://stackoverflow.com/questions/84860/how-to-communicate-with-awindows-service-from-an-application-that-interacts-with), [GUI y comunicación del servicio de Windows] (http: // stackoverflow. com/questions/1773046/gui-and-windows-service-communication). Tenga en cuenta que la mayoría de las respuestas sugieren ** WCF ** como la estrategia más adecuada. Es bastante simple de usar, una vez que lo haya configurado. – Groo

Respuesta

2

Una implementación simple es usar Custom Commands.

Luego, podría utilizar WMI para administrar el servicio con sus comandos personalizados.

+0

no lo sabía, parece una solución interesante –

+0

@Ariel, @Aliostad: si su intención es ** monitorear ** el servicio, no veo cómo funcionará. Solo puede pasar hasta 128 "comandos" diferentes, desde un cliente hacia el servicio, sin parámetros adicionales. No puede recibir nada del servicio de esta manera, por lo que no podrá controlarlo (si no me falta algo en su respuesta). – Groo

7

SNMP.

Cita de Wikipedia (He destacado la parte interesante):

protocolo simple de administración de redes (SNMP) es un "protocolo estándar de Internet para la gestión de dispositivos en redes IP Los dispositivos que normalmente incluyen soporte SNMP. routers, conmutadores, servidores, estaciones de trabajo, impresoras, bastidores de módem, y más “. 1se utiliza sobre todo en los sistemas de gestión de red para controlar dispositivos conectados a la red para condiciones que requieren atención administrativa

Implementación de C#: http://www.snmpsharpnet.com/

+0

Desearía poder lanzar más de un voto positivo. Observará el proyecto vinculado con gran interés. –

+0

Hola jgauffin, tengo experiencia con SNMP, es una aplicación muy complicada. Mi servicio es administrar dispositivos de red usando un protocolo más simple que SNMP. SNMP es administrar dispositivos detrás del servicio, no para administrar el servicio, creo. –

+0

Parece complicado al principio, estoy de acuerdo. Pero todos esos números se especifican por una buena razón. Intenta ver algunos ejemplos de código (en CodeProject para instancE) y verás que no es mágico. La ventaja es que sus clientes pueden usar cualquier aplicación de monitor SNMP para realizar un seguimiento de sus aplicaciones. Y ese es un *** gran punto de venta ***. – jgauffin

Cuestiones relacionadas