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

时间:2019-07-02 12:38:22

标签: .net azure rest botframework

我正在开发机器人解决方案,并且在进行REST调用以从其他服务器获取一些详细信息。
在本地主机中,我的代码运行正常,但是在Azure中发布代码后,出现以下错误:

  

System.Net.WebException:没有这样的主机是未知的-> System.Net.Http.HttpRequestException:没有这样的主机是已知的。> System.Net.Sockets.SocketException:没有这样的主机了< / p>

我正在使用HttpWebRequest选项。

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

1 个答案:

答案 0 :(得分:2)

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

问题描述:

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

答案:

该异常似乎是DNS问题。我不熟悉C#,来自 网络,则可以检查以下方面:

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

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

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

.NET Service System.Net.Sockets.SocketException: 'No such host is known'