await / async导致"访问被拒绝"在远程WMI中

时间:2016-02-29 22:15:46

标签: c# .net asynchronous wmi

我正在Win Server 2008 R2计算机上通过WMI检索服务列表,该计算机具有管理访问权限(并且正在使用特定的管理员帐户访问)。我认为安全性是可以的,因为我能够在.net和wbemtest中撤回数据。

问题来自于我使用完全相同的代码并使用await和async来访问数据。那时我得到一个" Access denied"当我使用foreach迭代返回的对象时。

我想强调它返回ManagementObjectCollection就好了。如果我不使用等待它也可以正常工作。工作和不工作之间的唯一区别是方法上的async关键字和await代码的添加,如下所示:

ManagementObjectCollection queryCollection = await Task.Run(() => Operations.ConnectService(wmipath, username, password));

Operations.ConnectService是一个静态方法,实际上可以很好地获取集合。我遇到的问题是这样的:为什么我会得到"访问被拒绝"当我从阻塞到线程?我错过了什么?

0 个答案:

没有答案