Comment créer des applications de service avec Visual c # Express?

J’ai construit une application pour parsingr le fichier XML pour l’intégration des données dans la firebase database mssql. J’utilise Visual C # Express. Il existe un moyen de rendre le service avec l’édition express ou je dois obtenir Visual Studio pour le faire?

Absolument vous pouvez. Vous pouvez même le faire avec csc . La seule chose dans VS est le modèle . Mais vous pouvez référencer vous-même System.ServiceProcess.dll.

Points clés:

  • écrire une classe qui hérite de ServiceBase
  • dans votre Main() , utilisez ServiceBase.Run(yourService)
  • dans la substitution ServiceBase.OnStart , générez le nouveau thread, etc. dont vous avez besoin pour effectuer le travail ( Main() doit se terminer rapidement ou il compte comme un échec du démarrage)

Exemple de code

Le code de modèle très basique serait:

Program.cs :

 using System; using System.ServiceProcess; namespace Cron { static class Program { ///  /// The main entry point for the application. ///  static void Main() { System.ServiceProcess.ServiceBase.Run(new CronService()); } } } 

CronService.cs :

 using System; using System.ServiceProcess; namespace Cron { public class CronService : ServiceBase { public CronService() { this.ServiceName = "Cron"; this.CanStop = true; this.CanPauseAndContinue = false; this.AutoLog = true; } protected override void OnStart(ssortingng[] args) { // TODO: add startup stuff } protected override void OnStop() { // TODO: add shutdown stuff } } } 

CronInstaller.cs :

 using System.ComponentModel; using System.Configuration.Install; using System.ServiceProcess; [RunInstaller(true)] public class CronInstaller : Installer { private ServiceProcessInstaller processInstaller; private ServiceInstaller serviceInstaller; public CronInstaller() { processInstaller = new ServiceProcessInstaller(); serviceInstaller = new ServiceInstaller(); processInstaller.Account = ServiceAccount.LocalSystem; serviceInstaller.StartType = ServiceStartMode.Manual; serviceInstaller.ServiceName = "Cron"; //must match CronService.ServiceName Installers.Add(serviceInstaller); Installers.Add(processInstaller); } } 

Et une application de service .NET n’est pas installée de la même manière qu’une application de service normale (vous ne pouvez pas utiliser cron.exe /install ni un autre argument de ligne de commande. Vous devez plutôt utiliser InstallUtil du SDK .NET:

 InstallUtil /LogToConsole=true cron.exe 

Ressources

  • Création d’un service Windows dans .NET par Mark Strawmyer
  • Écrire un service Windows utile dans .NET en cinq minutes par Dave Fetterman
  • Installation et désinstallation de services
  • Procédure pas à pas: création d’une application de service Windows dans le Concepteur de composants

Vous pouvez essayer Visual Web Developer Express avec la bibliothèque du kit de développement coding4fun pour les services Web (via des wrappers de code managé): –

http://www.microsoft.com/express/samples/c4fdevkit/default.aspx

Express Edition peut écrire et comstackr des projets de service Windows, mais ne peut pas les créer normalement. Le seul moyen simple consiste à créer un nouveau projet de service dans Visual Studio, puis à copier les fichiers du projet sur la machine avec Express Edition. Après cela, vous n’avez plus besoin de Visual Studio.

Il y a 3 façons d’accomplir cela:

  • Accédez à une machine avec Visual Studio et créez le projet.
  • Google: didacticiel en ligne pour la création de services et téléchargement du code source du projet
  • Téléchargez et installez une version d’évaluation de Visual Studio de 90 jours pour créer le projet.

Cependant, vous rencontrez toujours des difficultés, par exemple si vous souhaitez renommer votre projet ou ne pas avoir à le répéter pour chaque nouveau service. La meilleure solution à long terme consiste à faire payer le patron pour obtenir un exemplaire de l’édition Standard ou Professional.

Selon cet article MSDN, vous ne disposez pas du modèle de projet pour un service. Mais je suis à peu près sûr que si vous savez ce que le modèle fait pour vous, vous pouvez créer et comstackr un service.