我面临一个非常奇怪的问题:
案例1:使用ASP.NET Web Development Server:应用程序访问API,一切正常。
案例2:我在IIS上托管我的应用程序(MVC):当应用程序尝试命中API时,它会收到错误:
“无法连接到远程服务器”:{“连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机无法响应96.17.180.160:80”}
代码行:
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(api);
HttpWebResponse response = (HttpWebResponse)request.GetResponse(); // This line breaks...
答案 0 :(得分:1)
答案 1 :(得分:0)
如果无法ping远程主机,似乎有网络问题。可能有多种原因:代理服务器,阻止访问的防火墙,......
您必须与网络管理员联系以了解更多信息。如果他告诉您需要使用代理服务器才能到达目标网址,则可以使用request.Proxy
属性在请求上配置此代理。如果此代理需要身份验证,则必须提供代理服务器的地址和任何最终的身份验证凭据。另一种可能性是在<system.net>
部分的app / web.config文件中指定全局代理设置。
答案 2 :(得分:0)
使用下面的设置,如果代理/防火墙正在停止API调用,它将以低于设置运行。
<system.net>
<defaultProxy>
<proxy usesystemdefault="false" proxyaddress="Proxyserver:port" bypassonlocal="true"/>
</defaultProxy>
</system.net>
答案 3 :(得分:0)
大多数情况下,此问题是由于无响应而造成的,这可能是由于访问远程资源的停机所致。
某些系统在某些时间面临某些停机时间问题。尤其是当他们的基础设施不佳时,例如共享主机。在使用当前服务器的同时尝试连接到另一台服务器,并查看两者的响应。