小弟我现在做WMI的一些相关东西.在调用ManagementObject.InvokeMethod()函数是遇到了问题.奇怪的是在控制台程序里是可以跑的,但是到了web里面就提示"无效参数",请各位高手解答一下.谢谢!
源代码如下:
ManagementObjectCollection queryCollection;
ManagementOperationObserver observer = new ManagementOperationObserver(); 
MyHandler completionHandlerObj = new MyHandler();queryCollection = getServiceCollection("Select * from Win32_Service Where Name = '" + ServiceName + "'");
foreach ( ManagementObject mo in queryCollection)
{
//start or stop service
<<mo.InvokeMethod(observer,"StartService", null);>>
}
注:<<>>中的为出错函数.同样这段函数在控制台下面是可以执行的.

解决方案 »

  1.   

    估计asp.net进程是没有启动本地服务的权限。调一下权限试试罗。
      

  2.   

    方法不少。简单的是调整iis的applicaiton pool的运行帐户,默认网络服务,改成本地系统(适用iis6)
    还有启用模仿,web.config中设置或用代码均可。
      

  3.   

    http://support.microsoft.com/kb/306158/zh-cn
      

  4.   

    经过修改asp.net权限之后还是不行,似乎不是这个原因!