我的web服务器部署在IIS 6中,web服务器通过创建进程运行一些远程操作命令,成功启动远程机器中的Remote Registry服务。
第一行运行成功。但第二行返回 null。
#1 RegistryKey remoteRegKey = RegistryKey.OpenRemoteBaseKey(RegistryHive.LocalMachine, "139.24.185.27");
#2 RegistryKey targetKey = remoteRegKey.OpenSubKey(@"SOFTWARE\Wow6432Node\XXXX\XXXX\Config\Modality", true);
我试图从 MSDN 中找到原因。它只告诉一种情况它会返回 null。这种情况是子项不存在时。
如果它没有足够的权限,它会抛出异常。但是子键确实存在。我换了另一台机器用 Visual Studio 2008 调试我的代码。它可以成功运行两行。
如果它有足够的权限,它不仅可以打开LocalMachine,还可以打开它的任何子项。
我对此感到很困惑。