Pregunta

¿Es posible crear un C # EXE o un Servicio de Windows que pueda procesar las solicitudes del Servicio Web? Obviamente, algún tipo de servidor web incrustado, probablemente limitado, tendría que ser parte del servicio EXE /. El servicio EXE / no tendría que depender de la instalación de IIS. Preferiblemente, el servicio web incorporado podría manejar conexiones de tipo HTTPS / SSL.

El escenario es este: el cliente quiere instalar un pequeño agente (un servicio de Windows) en sus máquinas corporativas. El agente tendría dos tareas principales: 1) supervisar el sistema a lo largo del tiempo y recopilar ciertos datos y 2) responder a las solicitudes de servicio web (SOAP -v- REST todavía se regatea) para la recopilación de datos o el cambio del sistema. Al cliente le gusta la idea de las API de servicios web para que se pueda escribir cualquier número de clientes (en cualquier idioma) para aprovechar los diversos agentes que se ejecutan en las máquinas corporativas. Quieren que la instalación sea relativamente sencilla (instalar .NET, algunos ensamblados, un servicio, modificar el firewall de Windows, iniciar el servicio) sin requerir que IIS esté instalado y configurado.

Sé que puedo hacer esto con Delphi. Pero el cliente preferiría hacer esto en C # si es posible.

¿Alguna sugerencia?

¿Fue útil?

Solución

Sí, es posible, es posible que desee ver WCF y Self Hosting .

Otros consejos

Sí, es posible (y bastante fácil).

Aquí hay un artículo CodeProject que muestra cómo crear un servidor HTTP básico en DO#. Esto podría colocarse fácilmente en un EXE o servicio independiente y utilizarse como un servicio web.

Una tecnología que es posible que desee comprobar es WCF. Puede ser un poco complicado entrar en WCF, pero hay un gran screencast en DNRTV por Keith Elder que muestra cómo comenzar a usar WCF de una manera muy simple.

http://www.dnrtv.com/default.aspx?showNum=135

Puede echar un vistazo a HttpListener en el marco .Net.

Recomiendo encarecidamente WCF. Encajaría muy bien en un producto como el que está describiendo. Hay un buen número de libros disponibles.

Claro, puedes hacer eso. Asegúrese de cambiar el Tipo de salida del proyecto a la Aplicación de consola. Luego, en su función Principal, agregue un parámetro de cadena []. Fuera de algún interruptor que reciba en la línea de comando, puede pasar a ServiceBase. Ejecutar para ejecutar como un Servicio de Windows o pasar a otro código para ejecutar una aplicación de consola.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top