“连接尝试失败,因为连接方在一段时间后没有正确响应”使用WebClient

我正在使用以下代码在本地机器上工作,但当我在服务器上尝试相同的代码时,它会抛出我的错误

连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机无法响应

这是我的代码:

WebClient client = new WebClient(); // Add a user agent header in case the // requested URI contains a query. //client.Headers.Add ("ID", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)"); Stream data = client.OpenRead("http://" + Request.ServerVariables["HTTP_HOST"] + Request.ApplicationPath + "/PageDetails.aspx?ModuleID=" + ID); StreamReader reader = new StreamReader(data); string s = reader.ReadToEnd(); Console.WriteLine(s); data.Close(); reader.Close(); 

我收到了错误

 Stream data = client.OpenRead("http://" + Request.ServerVariables["HTTP_HOST"] + Request.ApplicationPath + "/PageDetails.aspx?ModuleID=" + ID); 

是因为任何防火墙设置?

我有类似的问题,不得不使用以下方法将URL从字符串转换为Uri对象:

 Uri myUri = new Uri(URLInStringFormat, UriKind.Absolute); 

(URLInStringFormat是您的URL)尝试使用Uri而不是字符串进行连接:

 WebClient client = new WebClient(); client.OpenRead(myUri); 

web.config明确设置代理地址解决了我的问题

      

在使用Web服务时解决“TCP错误代码10060:连接尝试失败…”

是否可以在浏览器中访问此代码的URL?

 http://" + Request.ServerVariables["HTTP_HOST"] + Request.ApplicationPath + "/PageDetails.aspx?ModuleID=" + ID 

您需要validation的第一件事是您正在创建的URL是正确的。 然后检查浏览器以查看它是否正在浏览。 然后使用Fiddler工具检查通过网络传递的内容。 可能是通过代码调用的URL被错误地转义。

然后检查防火墙相关问题。

  1. 第一种可能性 :Related Web.config文件中的加密字符串应与连接字符串中输入的相同(如上所示)以及当您在“注册表编辑器”或regedit.exe更改任何内容时(如运行时所写) ),然后在任何更改后,关闭注册表编辑器并通过在运行时键入IISRESET重置您的Internet信息服务。 然后登录到您的环境。

  2. 在运行时键入Services.msc并检查:

    1. ASP.NET状态服务的状态已启动。 如果没有,则右键单击它,通过“属性”,将其“启动”类型更改为“自动”。

    2. 该特定银行的Iris ReportManager服务是否列为已启动。 如果正在运行,它将在列表中显示“IRIS REPORT MANAGER SERVICE”。 如果没有,则单击IRIS.REPORTMANAGER.EXE运行它

    然后再次重置IIS

我知道这张票很旧,但我刚遇到这个问题,我想我会发布发生在我身上的事情,以及我是如何解决它的:

在我的服务中,我打电话给另一个网络服务。 就像一个混蛋,我忘记确保在我发布Web服务时DNS设置是正确的,因此我的Web服务在发布时试图从api.myproductionserver.local而不是api.myproductionserver.com调用。 导致超时的是后端Web服务。

无论如何,我以为我会传递这个。

我有这个问题。 代码在本地运行时工作正常但在服务器上运行时没有。 使用psPing( https://technet.microsoft.com/en-us/sysinternals/psping.aspx )我意识到应用程序端口没有返回任何内容。 原来是一个防火墙问题。 我没有在Windows防火墙中启用我的应用程序端口。

管理工具>具有高级安全性的Windows防火墙将我的应用程序端口添加到入站规则,它开始工作。

不知怎的,应用程序端口号已经改变了,所以花了一段时间来弄清楚发生了什么 – 所以我想我会分享这种可能性,以防它节省别人的时间……

它可能是服务器中的代理设置问题。 您可以尝试禁用代理设置,