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

Windows Communication Foundation .NET Discussion :

WCF et WMI : problème lors de la mise en ligne


Sujet :

Windows Communication Foundation .NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 64
    Points : 66
    Points
    66
    Par défaut WCF et WMI : problème lors de la mise en ligne
    Bonjour à tous,
    J'ai un projet qui s'articule ainsi :
    un service WCF et une dll contenant une classe pour permettre de récupérer des informations grâce à wmi.

    Voilà comment ça fonctionne :
    J'appelle le service, le service utilise la classe, récupère la liste des disques dur de la machine et les renvois.

    Lorsque le service est publié sur IIS, il me récupère bien le premier disque dur mais pas le second !. Le service fonctionne très bien sous visual studio en debug et la classe récupère bien les infos, j'ai testé également avec une application console.

    Voici comment je procède :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    ConnectionOptions aCO { get; set; }
            ManagementScope aMS { get; set; }
     
            public Wmi()
            {
                aCO = new ConnectionOptions();
                aMS = new ManagementScope("\\\\localhost", aCO);
            }
     
            .....
     
            ObjectQuery aQ = new ObjectQuery("select Name,Size,FreeSpace from Win32_LogicalDisk where DriveType=3");
     
            foreach (ManagementObject oReturn in aRToSet)
                {
                        string lettreDisque = oReturn["Name"].ToString();
                        long taille = long.Parse(oReturn["Size"].ToString());
                }
    Le "Name" du deuxième disque dur est bien récupéré mais le "Size" me renvoie une exception:
    La référence d'objet n'est pas définie à une instance d'un objet.
    Et donc seulement lorsque le service tourne sur IIS.

    Une piste ?

  2. #2
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Points : 8 538
    Points
    8 538
    Par défaut
    Peut être un problème de droit du compte sous lequel tourne ton appli.
    Regarde par ici: http://www.codeproject.com/KB/aspnet/addhostheader.aspx
    Les règles du forum
    Le trio magique : FAQ + Cours + fonction rechercher
    Mes articles
    Pas de questions par messages privés svp

    Software is never finished, only abandoned.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 64
    Points : 66
    Points
    66
    Par défaut
    Bonjour,

    J'ai essayé les solutions proposées dans l'article, sans succès.

    Au lieu de faire avec un service WCF (je n'ai jamais trop manipulé la chose, autant limiter les problèmes ^^), j'ai juste fais un site web MVC, même problème.

    J'ai continué un petit peu avec WMI, j'arrive bien à récupérer les autres informations (cpu, mémoire ...) mais ça bloque sur ce satané deuxième disque dur c'est dingue .

    J'ai essayé de donner les droits à tout le monde pour wmi et sur le site mais cela ne change rien...

    Petite précision : je récupère bien la lettre (Name) du second disque dur mais ça plante sur la taille (Size).

    Une idée ?
    Merci d'avance.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 64
    Points : 66
    Points
    66
    Par défaut
    J'ai réussi à régler le problème :

    Il s'agissait en fait d'un problème de droit pas sur WMI ou sur le répertoire du site, mais sur la partition elle-même. Dans l'onglet sécurité du disque il y avait seulement le super admin. J'ai rajouté le groupe administrateurs et utilisateurs et tout est rentré dans l'ordre.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 24/03/2008, 15h29
  2. [AJAX] Mise sur serveur
    Par mms_1983 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 11/07/2007, 21h15
  3. Problème lors de la mise en ligne
    Par Flashball dans le forum Langage
    Réponses: 5
    Dernier message: 27/12/2006, 19h03
  4. [FreeBSD] Problème lors d'une mise à jour
    Par gentox dans le forum BSD
    Réponses: 2
    Dernier message: 15/11/2006, 18h44
  5. Problème lors de la mise à jour
    Par Invité dans le forum Access
    Réponses: 2
    Dernier message: 05/06/2006, 09h22

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