【发布时间】:2010-09-09 19:18:02
【问题描述】:
我正在尝试创建一个 Web 服务 (WCF) 来获取有关我的服务器的信息。我为 WMI 创建了一个类,它可以检索有关 cpu、ram、磁盘等的信息...
在 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)。
有人可以给我任何线索吗?
谢谢。
【问题讨论】: