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

VB.NET Discussion :

BackGroundWorker et Windows Server 2003


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2006
    Messages : 6
    Par défaut BackGroundWorker et Windows Server 2003
    Bonjour à tous,

    J'ai développé un service pour windows qui utilise un BackGroundWorker. Dans ce BackGroundWorker, il y a une boucle infinie (while true .... end while, le traitement doit s'exécuter en permanence).

    Le problème que je rencontre : c'est que ce service tourne très bien sous windows xp sp2 par contre sous windows server 2003, le BackGroundWorker ne s'exécute pas.

    Je tiens à préciser qu'avant d'avoir utiliser un BackGroundWorker, je m'étais servi d'un system.timers.timer comme dans le tuto : http://selkis.developpez.com/tutorie...ervicewindows/

  2. #2
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Le while (True) est une très mauvaise pratique, ça empèche le gestionnaire de service de communiquer avec le service en lui-même. Utilise plutôt un timer (genre System.Threading.Timer).
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2006
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2006
    Messages : 6
    Par défaut
    Je sais que le while true est une très mauvaise pratique mais même si je met qu'une instruction pour écrire un event dans le journal des évènement dans le BackGroundWorker rien ne se passe sous Windows Server 2003 R2 alors que ça marche dans Windows XP SP2.

    Je suis d'accord que le while true empêche le gestionnaire de service de communiquer avec le service en lui-même (comme le tuto l'indique ^^). C'est pour cette raison que la boucle infini est dans le BackGroundWorker, afin de s'exécuter dans un autre thread.

    J'ai essayé aussi avec un system.timers.timer, comme dans le tuto de selkis sur developpez.com, mais j'ai le même résulta.

    Et pour utiliser un System.Threading.Timer, je n'ai pas compris comment on s'en servait (je n'ai pas trop cherché car c'est pareil qu'un System.TImers.Timer, je crois).

    Autre précision, dans le journal des évènements d'application du serveur, cela m'indique que le service à correctement démarré et je n'ai aucune erreur.

Discussions similaires

  1. Accès Windows Server 2003 SP1.
    Par abdelghani_k dans le forum Windows Serveur
    Réponses: 2
    Dernier message: 07/11/2005, 10h41
  2. pb installation de sql server 2000 sous windows server 2003
    Par timsah dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 02/10/2005, 14h06
  3. XP home sous Windows Server 2003
    Par beegees dans le forum Windows XP
    Réponses: 2
    Dernier message: 05/07/2005, 09h00
  4. [VB.NET]Fonction IsNumeric -bug- Windows Server 2003
    Par Seb.M dans le forum Windows Forms
    Réponses: 2
    Dernier message: 01/12/2004, 17h30
  5. Réponses: 1
    Dernier message: 28/10/2004, 10h45

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