在命中API时无法连接到远程服务器

时间:2012-07-04 06:06:39

标签: asp.net-mvc iis

我面临一个非常奇怪的问题:

案例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...

4 个答案:

答案 0 :(得分:1)

在API中“<无法连接到远程服务器”,正在发生此错误,因为该项目未运行您正在调用的项目。 在你打击时必须运行调用项目。 两个项目必须同时运行。

答案 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)

大多数情况下,此问题是由于无响应而造成的,这可能是由于访问远程资源的停机所致。

某些系统在某些时间面临某些停机时间问题。尤其是当他们的基础设施不佳时,例如共享主机。在使用当前服务器的同时尝试连接到另一台服务器,并查看两者的响应。