【发布时间】:2011-04-24 10:44:23
【问题描述】:
我正在构建一个 C# Web 应用程序来管理我们的 DNS 服务器,并且正在使用 WMI 命名空间来处理所有事情。我唯一遇到的问题是删除 DNS 域。这是我的代码:
internal static bool DeleteDomainFromDns(string DnsServerName, string ContainerName, string Name)
{
try
{
string Query = "SELECT * FROM MicrosoftDNS_Domain WHERE DnsServerName = '" + DnsServerName + "' AND ContainerName = '" + ContainerName + "' AND Name = '" + Name + "'";
ObjectQuery qry = new ObjectQuery(Query);
DnsProvider dns = new DnsProvider();
ManagementObjectSearcher s = new ManagementObjectSearcher(dns.Session, qry);
ManagementObjectCollection col = s.Get();
dns.Dispose();
foreach (ManagementObject obj in col)
{
obj.Delete(); //Exception occurs here
}
return true;
}
catch (Exception)
{
return false;
}
}
我得到的错误是:ManagementException 被捕获“通用故障”。我已经在网上阅读了人们使用区域命名空间删除域的信息,但这仅在您要删除的域是区域本身时才有效。我需要删除不是区域的域。有人可以帮忙吗?
【问题讨论】:
-
您确定可以在迭代之前处理掉那个
DnsProvider实例吗? -
是的,有两个原因。在那之后我不会使用它,因为这是我对所有 DNS 删除方法都使用它的方式。