没有这样的主机是已知的 —> System.Net.Http.HttpRequestException:

Sri*_*san 5 .net c# rest azure botframework

我正在开发机器人解决方案,其中我正在进行 REST 调用以从其他服务器获取一些详细信息。

\n\n

在本地主机中,我的代码工作正常,但在 Azure 中发布代码后,我收到以下错误:

\n\n
\n

System.Net.WebException:没有这样的主机已知 没有这样的主机已知 \xe2\x80\x94> System.Net.Http.HttpRequestException:没有这样的主机已知 \xe2\x80\x94> System.Net.Sockets.SocketException : 不知道这样的主机

\n
\n\n

我正在使用HttpWebRequest选项。

\n\n

我可以知道可能是什么原因吗?

\n

Vad*_* S. 6

我不确定下面的解决方案是否适合您,但看起来该解决方案值得检查。这是一个可能包含有用信息的答案。看看这个答案并相应地检查您的解决方案:

问题描述:

我在运行 Windows Server 的 Azure 虚拟机上部署了一个 .NET Windows 服务,并打开了一个允许我连接到它的端口,该服务就像使用套接字的服务器。问题是,当我尝试从我的电脑连接到该托管服务器时,它不起作用,并且出现以下异常:System.Net.Sockets.SocketException:“没有已知的主机”。该端口已打开并且从我的电脑上可见。有人能告诉我为什么我会得到这个例外吗?如果我在本地运行一切正常。

答案:

异常似乎是 DNS 问题。我对C#不太熟悉,从网络角度,你可以检查以下内容:

  1. Windows 服务正在运行,并且端口正在 Azure VM 上侦听。

  2. 该端口允许来自 PC 的出站流量和 Azure VM 上的入站流量。检查 PC 和 Azure VM 之间两侧的 VM 防火墙设置。另外,您可以按照此检查 NSG 设置。您可以使用 PC CMD 上的 telnet vmpublicIP 端口来验证网络连接。

  3. 如果您通过 DNS 名称连接,请验证您的 PC 是否可以解析托管服务器的地址。您可以使用 NSlookup 或 DIG 来验证这一点。如果是 DNS 问题,您还可以在主机文件(位于 Windows 上的 %WINDIR%\system32\drivers\etc 中)中添加一行,将托管服务器的 IP 映射到名称。希望这可以帮助。

.NET 服务 System.Net.Sockets.SocketException:“没有已知的主机”