在部署期间,我执行DNS注册,然后使用Dns.GetHostEntry Method验证它是否确实有效。
例如,假设我的Source
是cdn-my-source.net
,而我的Target
是cdn-my-source.edge.net
。如果返回true,我将执行以下操作并认为我的注册成功:
var sourceEntry = Dns.GetHostEntry(source);
if (sourceEntry.HostName.Equals(target, StringComparison.OrdinalIgnoreCase)) {
// success!
}
我将Akamai用作CDN提供商,并且可以控制自己想成为Source
和Target
的名字。但是,如果将这些名称中的任何一个输入到nslookup
之类的工具中,我都会得到Akamai在后台生成的名称(尚未能够找到它的API)。
因此上述检查最终无法正常进行,因为在创建CDN之前,我无法知道源HostName
是什么,即使这样,它也是随机的。
有没有一种使用C#的方法来获取解析为上述名称的所有别名?这样,我可以说,如果我的Source
也与别名(我的Target
)配对,那么我可以保证注册成功。