【问题标题】:Net.WebClient Error - Is that Hosting Based?Net.WebClient 错误 - 是否基于托管?
【发布时间】:2017-11-25 09:17:40
【问题描述】:

我收到此错误: 底层连接已关闭:连接意外关闭

代码很简单,只是试图获取指定 url 的内容,我认为问题可能是基于服务器的。因为当我试图从 http://ahgsql.5gbfree.com/test.te 我的程序可以显示“TEST”

但是当我试图从我的其他服务器获取数据时,它给出了那个错误。 http://panelyt.com/test.te

这是我的代码

Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles 
     Button1.Click
      Dim linkalan As New Net.WebClient
      Dim content As String = linkalan.DownloadString(TextBox1.Text)
     TextBox2.Text = content

  End Sub
End Class

【问题讨论】:

  • 您的网址一定是错误的。此代码有效: Dim url As String = "ahgsql.5gbfree.com/test.te" Dim linkalan As New Net.WebClient Dim str As String = linkalan.DownloadString(url)
  • (panelyt.com/test.te) 中存在脚本错误 第一个服务器响应“TEST”,第二个响应“VEVTVA==”并且流是八位字节流,而不是纯文本。跨度>
  • 我的意思是,响应是 Base64 编码的(VEVTVA== 是 = 到 TEST 编码的)

标签: c# vb.net webclient webrequest


【解决方案1】:

.NET HTTP 实现尝试尽可能长时间地保持连接,以避免创建新连接的开销。 如果服务器决定关闭连接而不通知客户端您可能会看到此错误。 通常,您需要在应用程序中捕获这些异常并根据需要创建新连接。除了使用 .NET HTTP 实现这一事实之外,客户端代理代码并没有真正的相关性。

您可以配置 ASP.NET 中的服务器端连接超时,它可能会导致此问题。

【讨论】:

  • 是的,但是有 100 多个客户在使用我的软件,其中一些无法联系到我。我们可以在托管方面做些什么?我正在使用带有 whm 和 cpanel 的经销商
  • 我会做的是检查异常,然后重新打开连接
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-05-26
  • 2014-04-30
  • 1970-01-01
  • 1970-01-01
  • 2017-12-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多