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:
ServiceBase
Main()
, utilisez ServiceBase.Run(yourService)
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) 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
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:
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.