Я пытаюсь создать веб-сервис (WCF) для получения информации о моем сервере. Я создал класс для WMI, который может получать информацию о процессорах, оперативной памяти, дисках и т. Д. *
В visual studio служба работает нормально, но когда я развертываю службу на IIS, я получаю всю информацию ... Кроме одной! У меня есть один жесткий диск с двумя разделами (C & D), при развертывании в IIS возникает ошибка, когда я пытаюсь получить «Размер» второго раздела. Код прекрасно работает с консольным приложением. Я пробовал также с простым веб-сайтом ASP.Net вместо WCF, тоже не работает.
Вот код, который я использую:
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 letter = oReturn["Name"].ToString();
long size = long.Parse(oReturn["Size"].ToString());
}
Я провел несколько тестов, служба работает на моем компьютере (Windows 7 с IIS 7.5), но не на моем сервере (Windows Server 2008).
Может ли кто-нибудь дать мне какую-нибудь подсказку?
Спасибо.