AIDE .NET

Topshelf C# (Comment ça marche pour les développeurs)

Publié août 13, 2024
Partager:

Introduction

Un logiciel libre très apprécié appelé Tablette a été créé pour faciliter la création de services Windows dans .NET. Le cadre qu'il offre simplifie et justifie la création, le déploiement et l'administration des systèmes d'information Services Windowsles développeurs peuvent ainsi se concentrer sur la logique de l'entreprise plutôt que sur les complexités de la gestion du contrôle des services. Combiné à IronPDF, une bibliothèque C# riche en fonctionnalités pour la création et la modification de fichiers PDF, les développeurs peuvent créer des services fiables et solides capables de gérer des tâches complexes de traitement de documents.

Cette connexion offre une solution transparente aux entreprises qui ont besoin de flux de travail documentaires efficaces et automatisés en automatisant la création, la révision et la distribution des PDF dans un cadre de service Windows complet. Les développeurs peuvent obtenir un haut degré de fonctionnalité et de maintenabilité dans leurs applications de services, garantissant à la fois robustesse et facilité d'utilisation, en utilisant Topshelf avec IronPDF en C#.

Qu'est-ce que Topshelf C# ?

Le développement, la configuration et la mise en œuvre des services Windows sont facilités par le projet open-source Topshelf .NET. En éliminant une grande partie de la complexité du processus de création des services Windows, les développeurs peuvent se concentrer sur les fonctionnalités essentielles de leurs applications plutôt que sur les nuances de l'administration des services Windows.

Avec quelques changements de code, Topshelf permet aux développeurs de transformer facilement les applications de la console en services. Il offre également une API fluide pour établir les paramètres des services, y compris les dépendances, les options de récupération et les actions de démarrage et d'arrêt des services. Pour les développeurs .NET qui souhaitent créer efficacement des services Windows stables et gérables, Topshelf est une option appréciée en raison de sa facilité d'utilisation et de son adaptabilité.

C# à portée de main (Comment ça marche pour les développeurs) : Figure 1

Un certain nombre de fonctionnalités offertes par Topshelf facilitent la conception et la maintenance des services Windows dans .NET, dont voici quelques-uns des principaux attributs :

Facilité d'utilisation

Topshelf fournit une API basique et fluide qui simplifie le processus de configuration et d'administration des services Windows qui l'utilisent. Les applications de la console peuvent être facilement converties en services par les développeurs avec peu ou pas de modifications du code.

Flexibilité de la configuration

Les actions de démarrage, d'arrêt, de pause et de poursuite figurent parmi les options de configuration qu'il prend en charge. Les dépendances et les options de récupération des classes de services peuvent également être spécifiées par les développeurs.

Installation et désinstallation

Le déploiement de services d'hébergement écrits à l'aide du Framework .NET est facilité par les fonctions intégrées de Topshelf pour l'installation et la désinstallation des services. Les services peuvent être installés par programme ou via la ligne de commande.

Enregistrement

Topshelf facilite la capacité des développeurs à enregistrer efficacement les opérations et les erreurs des services en s'intégrant à des cadres d'enregistrement bien connus tels que log4net, NLog et Serilog.

Contrôle des services

Il est compatible avec tous les contrôles de service Windows courants, tels que la pause, la poursuite, le démarrage et l'arrêt. Les développeurs disposent désormais d'un contrôle total sur l'ensemble du cycle de vie des services.

Traitement des exceptions

La gestion robuste des exceptions est une fonctionnalité de Topshelf qui garantit que les services peuvent gérer les erreurs avec élégance et rester stables.

Instances de services multiples

Il offre une certaine souplesse aux architectures de services complexes en permettant la création et la gestion de nombreuses instances de services au sein d'une même application.

Options de ligne de commande personnalisées

Les options de ligne de commande personnalisées permettent aux développeurs de personnaliser et de contrôler davantage le comportement de leurs services.

Sensibilisation à l'environnement

Qu'il s'agisse d'un serveur de production, d'un environnement de test ou d'un système de développement, Topshelf peut reconnaître et s'adapter à son environnement.

Prise en charge de l'injection de dépendance

Topshelf permet d'améliorer l'architecture des logiciels et facilite la gestion des dépendances des services lorsqu'il est utilisé en conjonction avec des cadres d'injection de dépendances.

Capacités multiplateformes

Topshelf a été principalement créé pour Windows, mais il peut également exécuter des services sur Linux et macOS lorsqu'il utilise .NET Core, ce qui augmente sa compatibilité avec d'autres systèmes d'exploitation.

Créer et configurer le C&num du haut de l'étagère ;

Utilisez Topshelf en C# pour créer et configurer un service Windows en suivant les étapes suivantes :

Créer un nouveau projet Visual Studio

Il est facile de créer un projet de console avec Visual Studio. Pour lancer une application console dans l'environnement Visual Studio, suivez ces étapes simples :

Avant d'utiliser Visual Studio, assurez-vous de l'avoir installé sur votre ordinateur.

Démarrer un nouveau projet

Après avoir choisi Fichier, Projet, sélectionnez le menu Nouveau.

C# à portée de main (Comment ça marche pour les développeurs) : Figure 2

Sélectionnez "Console App" ou "Console App" (.NET Core)" dans la liste des références de modèles de projets ci-dessous.

Pour donner un nom à votre projet, veuillez remplir le champ "Nom".

C# à portée de main (Comment ça marche pour les développeurs) : Figure 3

Sélectionnez l'emplacement de stockage du projet.

Le projet d'application de la console s'ouvrira lorsque vous cliquerez sur "Créer".

C# à portée de main (Comment ça marche pour les développeurs) : Figure 4

Installer Topshelf via NuGet

En utilisant le gestionnaire de paquets NuGet, ajoutez Topshelf à votre projet initial. Dans l'application Package Manager and Console, exécutez la commande suivante :

Install-Package Topshelf
Install-Package Topshelf
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Créer une classe de service

Décrire la logique de service de la classe. Le démarrage et l'arrêt, parmi d'autres actions de service, doivent être mis en œuvre dans cette classe.

using System;
using Topshelf;
namespace MyWindowsService
{
    public class MyService
    {
        public bool Start()
        {
            // Write start logic here
            Console.WriteLine("Service Started.");
            return true;
        }
        public bool Stop()
        {
            // Write stop logic here
            Console.WriteLine("Service Stopped.");
            return true;
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            HostFactory.Run(x =>
            {
                x.Service<MyService>(s =>
                {
                    s.ConstructUsing(name => new MyService());
                    s.WhenStarted(tc => tc.Start());
                    s.WhenStopped(tc => tc.Stop());
                });
                x.RunAsLocalSystem();
                x.SetServiceName("MyService");
                x.SetDisplayName("My Service");
                x.SetDescription("This is a sample service created using Topshelf.");
            });
        }
    }
}
using System;
using Topshelf;
namespace MyWindowsService
{
    public class MyService
    {
        public bool Start()
        {
            // Write start logic here
            Console.WriteLine("Service Started.");
            return true;
        }
        public bool Stop()
        {
            // Write stop logic here
            Console.WriteLine("Service Stopped.");
            return true;
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            HostFactory.Run(x =>
            {
                x.Service<MyService>(s =>
                {
                    s.ConstructUsing(name => new MyService());
                    s.WhenStarted(tc => tc.Start());
                    s.WhenStopped(tc => tc.Stop());
                });
                x.RunAsLocalSystem();
                x.SetServiceName("MyService");
                x.SetDisplayName("My Service");
                x.SetDescription("This is a sample service created using Topshelf.");
            });
        }
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

C# à portée de main (Comment ça marche pour les développeurs) : Figure 5

Configurer le service

Le mécanisme de lancement et de clôture du service est contenu dans la classe MyService. La définition du service et les méthodes de son cycle de vie (Démarrage et arrêt) sont reliées aux actions de service correspondantes dans la classe Programme, qui héberge la configuration Topshelf. Les propriétés du service, telles que son nom, son nom d'affichage et sa description, sont définies à l'aide de la méthode run d'une classe de service unique. L'utilisation de Topshelf pour gérer et déployer les services Windows est simplifiée par cette configuration succincte.

Construire et installer le service

Au fur et à mesure que vous construisez votre projet, assurez-vous qu'il ne comporte pas d'erreurs. Utilisez la commande install avec l'exécutable compilé pour lancer le service à partir de la ligne de commande :

MyWindowsService.exe install
MyWindowsService.exe install
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Démarrer le service

Utilisez la commande suivante pour lancer le service après son installation :

MyWindowsService.exe start
MyWindowsService.exe start
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Désinstaller le service

Utilisez la commande suivante pour vous inviter à désinstaller le service si nécessaire :

MyWindowsService.exe uninstall
MyWindowsService.exe uninstall
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Cet exemple vous montre comment utiliser Topshelf en C# pour créer et configurer un service Windows. Topshelf rationalise la procédure, facilitant l'installation, la configuration et l'administration des services Windows avec peu ou pas de code.

Pour commencer

Pour commencer à créer un service Windows en C# à l'aide d'IronPDF et de Topshelf, procédez comme suit :

Qu'est-ce qu'IronPDF ?

IronPDF est une bibliothèque .NET riche en fonctionnalités que les programmes C# peuvent utiliser pour créer, lire et modifier des documents PDF. Grâce à ce programme, les développeurs peuvent facilement produire des PDF de haute qualité prêts à imprimer à partir de contenus HTML, CSS et JavaScript. La possibilité de diviser et de fusionner des PDF, de filigraner des documents, d'ajouter des en-têtes et des pieds de page et de convertir des fichiers HTML en PDF sont quelques-unes des fonctions essentielles. IronPDF prend en charge à la fois le Framework .NET et .NET Core, ce qui le rend utile pour un large éventail d'applications.

Les PDF étant faciles à intégrer et disposant d'une documentation abondante, les développeurs peuvent facilement les incorporer dans leurs programmes. IronPDF veille à ce que les PDF générés ressemblent étroitement au contenu HTML source en gérant aisément les mises en page et les formatages complexes.

C# à portée de main (Comment ça marche pour les développeurs) : Figure 6

Caractéristiques d'IronPDF

**Génération de PDF à partir de HTML

Convertissez JavaScript, HTML et CSS en PDF. supporte les media queries et le responsive design, deux standards web contemporains. utile pour décorer dynamiquement des factures, des rapports et des documents PDF avec du HTML et du CSS.

Édition PDF

Des textes, des photos et d'autres contenus peuvent être ajoutés à des PDF préexistants. Extraire du texte et des images de fichiers PDF. combinez plusieurs PDF en un seul fichier. Diviser des fichiers PDF en plusieurs documents distincts. Inclure des filigranes, des annotations, des en-têtes et des pieds de page.

Conversion PDF

Convertissez plusieurs formats de fichiers, notamment Word, Excel et des fichiers d'images, au format PDF. Conversion de PDF en images (PNG, JPEG, etc.).

Performance et fiabilité

Les performances élevées et la fiabilité sont des qualités recherchées dans les environnements industriels. gère facilement des ensembles de documents volumineux.

Installer IronPDF

Pour obtenir les outils dont vous avez besoin pour travailler avec des PDF dans des projets .NET, installez le paquet IronPDF.

Install-Package IronPDF
Install-Package IronPDF
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPDF
VB   C#

Créez votre classe de service avec IronPDF

Définir la fonctionnalité d'IronPDF pour la création et la modification de fichiers PDF ainsi que la logique de service pour la classe.

using System;
using IronPdf;
using Topshelf;
namespace PdfService
{
    public class MyPdfService
    {
        public bool Start()
        {
            Console.WriteLine("Service Starting...");
            GeneratePdf();
            return true;
        }
        public bool Stop()
        {
            Console.WriteLine("Service Stopping...");
            return true;
        }
        private void GeneratePdf()
        {
            var renderer = new HtmlToPdf();
            var pdf = renderer.RenderHtmlAsPdf("<h1>Hello, PDF!</h1>");
            pdf.SaveAs("GeneratedDocument.pdf");
            Console.WriteLine("PDF Generated.");
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            HostFactory.Run(x =>
            {
                x.Service<MyPdfService>(s =>
                {
                    s.ConstructUsing(name => new MyPdfService());
                    s.WhenStarted(tc => tc.Start());
                    s.WhenStopped(tc => tc.Stop());
                });
                x.RunAsLocalSystem();
                x.SetServiceName("MyPdfService");
                x.SetDisplayName("My PDF Service");
                x.SetDescription("A service that generates PDF files using IronPDF and Topshelf.");
            });
        }
    }
}
using System;
using IronPdf;
using Topshelf;
namespace PdfService
{
    public class MyPdfService
    {
        public bool Start()
        {
            Console.WriteLine("Service Starting...");
            GeneratePdf();
            return true;
        }
        public bool Stop()
        {
            Console.WriteLine("Service Stopping...");
            return true;
        }
        private void GeneratePdf()
        {
            var renderer = new HtmlToPdf();
            var pdf = renderer.RenderHtmlAsPdf("<h1>Hello, PDF!</h1>");
            pdf.SaveAs("GeneratedDocument.pdf");
            Console.WriteLine("PDF Generated.");
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            HostFactory.Run(x =>
            {
                x.Service<MyPdfService>(s =>
                {
                    s.ConstructUsing(name => new MyPdfService());
                    s.WhenStarted(tc => tc.Start());
                    s.WhenStopped(tc => tc.Stop());
                });
                x.RunAsLocalSystem();
                x.SetServiceName("MyPdfService");
                x.SetDisplayName("My PDF Service");
                x.SetDescription("A service that generates PDF files using IronPDF and Topshelf.");
            });
        }
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Les développeurs peuvent rapidement concevoir de solides services Windows pour la production et la manipulation de PDF en combinant Topshelf et IronPDF en C#. Topshelf offre une API fluide et conviviale qui facilite la mise en place et la gestion des services Windows.

C# à portée de main (Comment ça marche pour les développeurs) : Figure 7

Une classe MyPdfService, qui met en œuvre des méthodes pour démarrer (Démarrage) et se terminant (Arrêter) le service, encapsule la logique du service dans l'exemple donné. IronPDF est utilisé dans la méthode Start pour créer un simple Document PDF à partir d'un texte HTML. La classe HtmlToPdf d'IronPDF permet de transformer des informations HTML de base en format PDF (comme "

Bonjour, PDF!

") dans un fichier PDF ("Document généré.pdf").

C# à portée de main (Comment ça marche pour les développeurs) : Figure 8

Cette intégration montre comment Topshelf gère la durée de vie du service pour s'assurer qu'il fonctionne comme un service Windows complet, et comment IronPDF gère le processus difficile de création de PDF en toute simplicité. Grâce aux capacités combinées de Topshelf et d'IronPDF en C#, cette intégration est parfaite pour les applications qui nécessitent une création ou une modification automatisée des documents. Il est fiable et facile à entretenir.

Conclusion

En conclusion, la création et l'administration de services Windows qui impliquent la création et la manipulation de PDF sont rendues possibles par la combinaison de Topshelf et IronPDF en C#. En offrant une API conviviale pour la configuration et la gestion des services, Topshelf rationalise le déploiement des services Windows. En facilitant la génération de documents PDF à partir d'informations HTML dans le cadre de la logique de service, IronPDF améliore le fonctionnement dans l'intervalle.

Cette intégration garantit des performances fiables et solides dans les flux de documents automatisés, tout en rationalisant le processus de développement. Topshelf avec IronPDF en C# s'impose comme une option flexible et efficace, permettant aux développeurs de créer facilement des solutions de traitement de documents complexes, que ce soit pour la création de rapports, de factures ou de toute autre tâche basée sur le format PDF.

IronPDF et IronSoftware combine les systèmes et la suite incroyablement flexibles d'Iron Software avec son support de base pour offrir au développeur plus d'applications et de fonctionnalités en ligne ainsi qu'un développement plus efficace.

Si les options de licence sont claires et spécifiques au projet, les développeurs peuvent déterminer plus facilement le modèle optimal. Ces avantages permettent aux développeurs de résoudre un large éventail de problèmes de manière claire, efficace et intégrée.

< PRÉCÉDENT
EasyNetQ .NET (Comment ça marche pour les développeurs)
SUIVANT >
AAPC .NET (Comment ça marche pour les développeurs)