C# - .net 核心中的 Dns.GetHostEntry(uri.Host)?

标签 c# dns .net-core

我可以使用 Dns.GetHostEntry("google.com") 获取 uri 的 IP 地址,如“google.com”,例如:

        var ip = Dns.GetHostEntry("google.com");
        Console.WriteLine(ip.AddressList.FirstOrDefault().ToString());
        Console.ReadKey();

此代码在 .net Framework 中运行良好,但我有一个跨平台项目,需要在 .net core 1.1 和 .net standard 1.6 中使用此代码,但 .net core 和 standard 版本不支持 System.Net.Dns。获取主机条目, 如何在 .net 核心和标准中使用 Dns 从主机名中获取服务器 IP 地址?

最佳答案

再次检查后,我在 .net 标准和 .net 核心中发现了 Dns.GetHostEntryAsync,我将我的代码更改为这样以支持 .net4 和 .net45 以及 .net 核心和 .net 标准:

#if (NETSTANDARD1_6 || NETCOREAPP1_1)
            IPHostEntry Host = await Dns.GetHostEntryAsync(uri.Host);
#else
            IPHostEntry Host = Dns.GetHostEntry(uri.Host);
#endif

关于C# - .net 核心中的 Dns.GetHostEntry(uri.Host)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45834011/

相关文章:

c# - 未捕获异步异常

javascript - 使用 <script src=.... 的跨框架脚本来查找站点的状态代码 - 安全问题?

dns - 从哪里获取权威的DNS信息,whois准确吗

node.js - 在同一端口上运行 3 个 Web 服务器

c# 检查域是否存在

c# - Silverlight 标签不想显示精确的舍入值

c# - Unity【依赖】注入(inject)与继承

c# - Blazor项目结构/最佳实践

c# - 如何在 C# .Net 核心的工厂设计模式中使用反射

c# - 缓存在 Identity Server 4 中似乎不起作用