【发布时间】:2018-12-23 06:59:12
【问题描述】:
因此,使用已死网站的主机名调用 Dns.GetHostAddresses 通常会引发异常,指出“不知道这样的主机”。
我的用例中的异常会导致大量额外的 CPU 使用,而这些额外的 CPU 使用可能是致命的。
有没有办法重写该方法以仅返回 null 或其他内容?
异常是一个 SocketException,表明它使用了套接字,我查看了 Reference Source 并没有在 DNS.GetHostAddresses(string) 中找到任何套接字引用。我确实看到创建了一个 SocketException 对象,但它没有被使用。
【问题讨论】:
-
随时欢迎您编写您自己的行为方式,但您可以随心所欲。
-
@itsme86 我只需要一种将主机名转换为 IP 以通过 TCPClient 连接的方法,因为它在使用 IP 时往往会更有效。我怎么会“写我自己的”。
-
与 .NET 开发人员的做法相同。您甚至可以从链接到的源代码开始,然后对其进行调整。
-
@itsme86 这就是我所尝试的,但它使用了很多 .net 内部,我无法访问,或者即使我创建到我的应用程序命名空间的新文件中,也会有很多权限错误。
-
你解决了多少个域,捕获异常的开销是“致命的”?
标签: c#