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

ASP.NET Discussion :

Demarrer un service windows à partir d'une page ASP.net


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 48
    Points : 46
    Points
    46
    Par défaut Demarrer un service windows à partir d'une page ASP.net
    Bonjour a tous,

    Sur mon serveur IIS j'ai créer deux site web l'un sur le port 80 et l'autre sur le port 8080. Je souhaiterai à partir de l'application asp hébergé sur le port 80 arrêter le site web sur le port 8080. J'ai trouvé toutes les lignes de commande pour effectuer cette opération et cela marche bien en local. Le problème et de le faire fonctionner à partir d'une page web asp (l'accès à la page est sécurisé).

    J'ai créer un service windows qui effectue le démarrage et l'arrêt du site web mais il ne fonctionne qu'en "log on" avec un compte local.

    Ma question est de savoir comment demarrer un service windows à partir d'une page web asp, et si c'est la bonne solution pour lancer des lignes de commande sur des exécutables se trouvant dans c:\windows\system32

    Ma configuration : IIS 7.0 / windows 2008 server standard

    Merci par avance

  2. #2
    Expert confirmé
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Points : 4 066
    Points
    4 066
    Par défaut
    Bonjour,

    Avec la classe ServiceController c'est tout simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ServiceController controller  = new ServiceController();
    controller.MachineName = ".";
    controller.ServiceName = "Nom_Du_Service";
    string status  = controller.Status.ToString();
     
    // Stop the service
    controller.Stop();
     
    // Start the service
    controller.Start();
    Tu peux aussi utiliser ceci pour la synchro et la vérification du mon démarrage/arrêt du service :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    controller.WaitForStatus(ServiceControllerStatus.Running, timeout);
    Bien entendu, il faut bien gérer les droits niveau ASP.NET et que l'user choisi soit autorisé à lancer le service

    En espérant t'avoir aidé.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    48
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 48
    Points : 46
    Points
    46
    Par défaut
    Oui le démarrage du service les différentes commandes a exécuter j'ai aucun problème avec, c'est effectivement au niveau des droits que cela bloque j'aimerai bien avoir quelque piste si quelqu'un a déjà effectué ces opérations

    Merci d'avance

  4. #4
    Expert confirmé
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Points : 4 066
    Points
    4 066
    Par défaut
    Bonjour,

    Dans ce cas il faut être plus précis dans tes questions, ton premier post disait l'inverse.

    Sur Windows Server 2003, je te dirais qu'il te faut utiliser la commande sc ou les Security Templates. Après, sur la version 2008 ça a peut être changé. Tu peux déjà regarder au niveau des propriétés du Service si tu peux les définir directement.

    En espérant t'avoir aidé.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2003
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2003
    Messages : 16
    Points : 17
    Points
    17
    Par défaut ServiceController avec parametres
    Citation Envoyé par Nicolas Esprit Voir le message
    Bonjour,

    Avec la classe ServiceController c'est tout simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ServiceController controller  = new ServiceController();
    controller.MachineName = ".";
    controller.ServiceName = "Nom_Du_Service";
    string status  = controller.Status.ToString();
     
    // Stop the service
    controller.Stop();
     
    // Start the service
    controller.Start();
    Tu peux aussi utiliser ceci pour la synchro et la vérification du mon démarrage/arrêt du service :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    controller.WaitForStatus(ServiceControllerStatus.Running, timeout);
    Bien entendu, il faut bien gérer les droits niveau ASP.NET et que l'user choisi soit autorisé à lancer le service

    En espérant t'avoir aidé.
    Bonjour,

    cette réponse m'interesse et je profite demander comment puis-je l'exploiter si mon service à démarrer requiert des parametres? Je m'explique mieux: Je voudrais effectuer en C#/VB cette opération "NET START MONSERVICE /PARAM" que j'exécuterais en mode console.
    Merci

  6. #6
    Expert confirmé
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Points : 4 066
    Points
    4 066
    Par défaut
    Bonjour,

    Dans ce cas je ne sais pas. Je ne pense pas que ServiceController accepte des paramètres comme en mode console.

    Donc le mieux pour toi est de lancer un nouveau process => cf ici.

    En espérant t'avoir aidé.

Discussions similaires

  1. envoyer un mail a partir d'une page ASP.NET
    Par wissem.ba dans le forum ASP.NET
    Réponses: 3
    Dernier message: 09/01/2009, 10h20
  2. supprimer un fichier a partir d'une page asp.net
    Par tsdia2 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 02/05/2007, 21h05
  3. Réponses: 1
    Dernier message: 06/04/2007, 11h40
  4. Réponses: 2
    Dernier message: 13/12/2006, 14h48

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