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 :
Le "Name" du deuxième disque dur est bien récupéré mais le "Size" me renvoie une exception:
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()); }
Et donc seulement lorsque le service tourne sur IIS.La référence d'objet n'est pas définie à une instance d'un objet.
Une piste ?
Partager