Question

Est-il possible de créer un service EXE ou C # C # capable de traiter les demandes de service Web? De toute évidence, une sorte de serveur Web intégré, probablement limité, devrait faire partie du fichier EXE / service. Le fichier EXE / service ne devrait pas dépendre de l'installation d'IIS. De préférence, le service Web intégré peut gérer des connexions de type HTTPS / SSL.

Le scénario est le suivant: le client souhaite installer un petit agent (un service Windows) sur les ordinateurs de leur entreprise. L'agent aurait deux tâches principales: 1) surveiller le système au fil du temps et collecter certaines données et 2) répondre aux demandes de services Web (SOAP -v- REST fait toujours l'objet de marchandages) à des fins de collecte de données ou de modification du système. Le client aime l'idée des API de service Web, de sorte que n'importe quel nombre de clients (dans n'importe quelle langue) puisse être écrit pour puiser dans les différents agents en cours d'exécution sur les ordinateurs de l'entreprise. Ils souhaitent que l’installation soit relativement simple (installez .NET, certains assemblages, un service, modifiez le pare-feu Windows, démarrez le service) sans que IIS soit installé et configuré.

Je sais que je peux le faire avec Delphi. Mais le client préférerait que cela soit fait en C # si possible.

Des suggestions?

Était-ce utile?

La solution

Oui, c’est possible, vous pouvez consulter WCF et Hébergement autonome .

Autres conseils

Oui, c'est possible (et assez facile).

Voici un article de CodeProject montrant comment créer un serveur HTTP de base dans C #. Cela pourrait facilement être placé dans un EXE ou un service autonome et utilisé comme un service Web.

Une technologie que vous voudrez peut-être essayer est la WCF. WCF peut sembler un peu pénible, mais Keith Elder de DNRTV a présenté une capture vidéo qui montre parfaitement comment démarrer avec WCF de manière très simple.

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

Vous pouvez consulter HttpListener . dans le cadre .Net.

Je recommande vivement la WCF. Cela irait très bien dans un produit comme vous le décrivez. Il existe un bon nombre de livres disponibles.

Bien sûr, vous pouvez le faire. Assurez-vous de changer le type de sortie du projet en application console. Ensuite, dans votre fonction Main, ajoutez un paramètre string []. Sur certains commutateurs que vous recevez sur la ligne de commande, vous pouvez vous connecter à ServiceBase.Run pour s’exécuter en tant que service Windows ou à un autre code pour exécuter une application console.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top