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

Services Windows Discussion :

Windows Seven et service Windows


Sujet :

Services Windows

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 85
    Points : 46
    Points
    46
    Par défaut Windows Seven et service Windows
    Bonjour,

    J'ai une question concernant le développement de service Windows sous 7.
    J'ai une application que je dois updater pour la faire fonctionner sous 7 (développé a la base pour XP).

    Mon application est plutôt simple, pour faire court il s'agit d'un client/serveur qui upload des données.

    Cette application, sur un poste client a deux entités :
    - Un exe qui lance l’application pour uploader des données.
    - Un service Windows qui va lancer l'exe précèdent pour uploader des données (le but étant d'avoir des uploads programmés a un certain temps T).

    Sachant que le service Windows peut lancer l'application pour uploader des données si un utilisateur et loggee ou non.


    J'ai regardé un peu les nouveautés sous 7, et apparemment les sessions sont séparés (j'utilise le compte localSystem en interactif pour mon service). Donc il n'est plus possible de lancer une application GUI par un service dans la même session qu'un utilisateur (ou alors d’après ce que j'ai vu il faut "bidouiller" et cela ne suis pas vraiment les best pratices de Windows).

    Donc pour l'instant le service lance mon application, et il y une popup qui demande a l'utilisateur s'il veut voir ce qu'il se passe, et donc d'aller dans la session 0 et visualiser l'application faire son boulot. (Pour mon cas cela ne dérange pas trop, vu que mon application n'a absolument pas besoin d'interaction utilisateur, je montre juste ce qu'il se passe a l'utilisateur).

    J'aimerais savoir si je ne me trompe pas S'il y a une solution simple pour ne pas avoir cet popup. (je ne pense pas être le premier a avoir ce genre de problème !)
    Je pensais que cela serait assez simple, puisque mon service ne fait que lancer mon application a l'aide d'un ProcessStartInfo. (Il n'y a aucune communication entre mon application et mon service).

    Merci beaucoup

  2. #2
    Membre expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Points : 3 568
    Points
    3 568
    Par défaut
    Hello,

    Un service, pour moi, ne devrait pas avoir avoir de GUI.

    A premiere vue, je ferait un service qui irait uploader lui-même.
    Puis un autre programme GUI (qui peut être en tray) qui communiquerait avec ce service.
    Microsoft MVP : Windows Platform

    MCPD - Windows Phone Developer
    MCPD - Windows Developer 4

    http://www.guruumeditation.net

    “If debugging is the process of removing bugs, then programming must be the process of putting them in.”
    (Edsger W. Dijkstra)

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 85
    Points : 46
    Points
    46
    Par défaut
    On est bien d'accord, c'est pour cela que mon service ne fais qu'une chose c'est de ce charger de lancer l'application a temps donné :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ProcessStartInfo pInfo = new ProcessStartInfo(time.GetAppLauncher());
    pInfo.WindowStyle = ProcessWindowStyle.Normal;
    pInfo.UseShellExecute = false;
    pInfo.CreateNoWindow = false;
    Process p = Process.Start(pInfo);
    C'est pour cela que je pensais qu'il n'y aurait aucune difficulté :-/ Je n'aimerais pas a avoir a modifier lourdement mon application :-(

  4. #4
    Membre expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Points : 3 568
    Points
    3 568
    Par défaut
    Y'a un truc que j'ai pas capté : pourquoi le service ne fait pas l'upload lui-même, plutot que de lancer un exe qui upload les données?
    Microsoft MVP : Windows Platform

    MCPD - Windows Phone Developer
    MCPD - Windows Developer 4

    http://www.guruumeditation.net

    “If debugging is the process of removing bugs, then programming must be the process of putting them in.”
    (Edsger W. Dijkstra)

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 85
    Points : 46
    Points
    46
    Par défaut
    Citation Envoyé par EquinoxeDotNet Voir le message
    Y'a un truc que j'ai pas capté : pourquoi le service ne fait pas l'upload lui-même, plutot que de lancer un exe qui upload les données?
    Cela permet au client si il est connecte de visualiser ce qu'il se passe lors de l'upload - meme si il n'a rien besoin de faire.

  6. #6
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par denebj Voir le message
    Cela permet au client si il est connecte de visualiser ce qu'il se passe lors de l'upload - meme si il n'a rien besoin de faire.


    Certains choix d'archi laissent quand même dubitatif : il aurait en effet sans doute été trop simple de laisser le service faire le boulot d'upload et d'avoir un IHM d'interrogation de l'avancement des tâches d'upload du srevice.

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  7. #7
    Membre du Club
    Inscrit en
    Janvier 2006
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 85
    Points : 46
    Points
    46
    Par défaut
    Citation Envoyé par Bluedeep Voir le message


    Certains choix d'archi laissent quand même dubitatif : il aurait en effet sans doute été trop simple de laisser le service faire le boulot d'upload et d'avoir un IHM d'interrogation de l'avancement des tâches d'upload du srevice.
    C'est sur ! Surtout avec la séparation des sessions depuis vista/7

    Le développement du service ne c'est fait que tardivement, nous utilisions le task scheduler. L'architecture était correct. Mais dues a des problèmes nous avons remplace le scheduler par un service "a nous".
    Mais l'approche effectue avec un scheduler est logique et propre.

Discussions similaires

  1. Installation de MySQL sous Windows 7 et Services Windows
    Par hervelyon dans le forum Installation
    Réponses: 6
    Dernier message: 29/01/2013, 11h56
  2. Services windows et autres services windows ?
    Par malgach dans le forum Windows 7
    Réponses: 2
    Dernier message: 12/12/2011, 12h46
  3. Réponses: 2
    Dernier message: 08/01/2009, 10h39
  4. Réponses: 1
    Dernier message: 26/06/2008, 17h45
  5. [C# service windows] creer un service
    Par warenbe dans le forum Windows Forms
    Réponses: 10
    Dernier message: 12/03/2008, 12h59

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