IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

c# windows service


Sujet :

C#

  1. #1
    Membre confirmé
    Inscrit en
    Août 2002
    Messages
    157
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 157
    Par défaut c# windows service
    Bonjour ,
    J'essaie de creer un windows service qui detecte la creation d'un fichier et le transfert a un repertoire precis.
    J'ai tester la fonction en utlisant un file catcher. J'arrive a bien transferer le fichier des qu'il est creer vers le répertoire de destination
    J'incorpore la meme fonction dans un windows service (onstart). Le service s'installe tres bien. Cependant des que je fais start il m'affiche un message comme quoi le service s'est arreter.
    Quelqu'un a une idee pourquoi (j'ai essaye de faire un while(true) dans la fonction onstart du service mais ca ne fonctionne pas )
    merci

  2. #2
    Membre expérimenté

    Inscrit en
    Septembre 2004
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 105
    Par défaut
    Est-ce que tu peux montrer le code de ton service?

    A première vue, j'ai l'impression que tu as mis tout ton code dans OnStart().
    Cette méthode ne doit être utilisée que pour l'initialisation. Par exemple, tu peux créer un Thread qui fera le travail (et c'est là que tu met ta while(true)).

    Au fait, assure toi aussi que le Service as le droit de toucher aux fichiers en question...

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par mahboub Voir le message
    J'ai tester la fonction en utlisant un file catcher.
    Je suppose que tu veux dire FileSystemWatcher...
    Dans ce cas n'oublie pas de vérifier que le fichier est entièrement écrit et fermé avant d'essayer de le déplacer. Pour ça il suffit d'essayer de l'ouvrir en lecture en mode exclusif (cf. ce post)


    Citation Envoyé par mahboub Voir le message
    J'incorpore la meme fonction dans un windows service (onstart). Le service s'installe tres bien. Cependant des que je fais start il m'affiche un message comme quoi le service s'est arreter.
    Quelqu'un a une idee pourquoi (j'ai essaye de faire un while(true) dans la fonction onstart du service mais ca ne fonctionne pas )
    Comme l'a dit KPixel, il ne faut pas mettre tout le code dans le OnStart. Cette méthode ne doit faire que l'initialisation du service, et doit se terminer rapidement, sinon Windows considère que le démarrage du service a échoué et il l'arrête. En gros dans ton OnStart il faut juste que tu initialises le FileSystemWatcher et que tu te hookes sur ses évènements (ou alors tu lances un thread avec une boucle où tu appelles WaitForChanged)

Discussions similaires

  1. Lancer un executable a partir d'un windows service
    Par barbar dans le forum VB.NET
    Réponses: 1
    Dernier message: 21/06/2007, 11h42
  2. [C# 2.0] Windows Service Project et désintallation
    Par aurelien.tournier dans le forum Windows Forms
    Réponses: 4
    Dernier message: 30/03/2007, 15h54
  3. Windows Service Demarre et Arrête sans rien faire
    Par Bobafett dans le forum Windows Forms
    Réponses: 1
    Dernier message: 27/02/2007, 17h32
  4. [C#] [Windows service] Rendre Word Visible ?
    Par chris92 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 26/07/2004, 17h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo