【问题标题】:System.Net.WebException' occurred in System.dll but was not handled in user codeSystem.Net.WebException' 发生在 System.dll 中,但未在用户代码中处理
【发布时间】:2017-08-04 06:08:24
【问题描述】:
Try
    Dim url = "something"
    Dim request = WebRequest.Create(url)
    request.Credentials = CredentialCache.DefaultCredentials
    Dim httpWebResponse = DirectCast(request.GetResponse(), HttpWebResponse)
    Dim dataStream = httpWebResponse.GetResponseStream()
    If dataStream Is Nothing Then
        Return ""
    End If
    Dim reader = New StreamReader(dataStream)
    Return reader.ReadToEnd()
Catch ex As WebException
    Return ""
End Try

以上代码在 LocalHost 中运行,但在服务器中却无法运行并引发异常。

System.Net.WebException' 在 System.dll 中发生但未被处理 在用户代码中

【问题讨论】:

  • 异常被抛出给调用者,检查异常消息
  • 我从异常中收到此消息“无法连接到远程服务器”。
  • 我假设您使用代理服务器进行连接。检查您的代理设置。如果是,则创建一个 WebProxy 对象并将其分配给 httpwebrequest
  • 我对代理服务器一无所知。你能帮帮我吗。

标签: asp.net vb.net


【解决方案1】:

您在Catch 之后重新抛出异常。 删除Throw

 Try
    Dim url = "something"
    Dim request = WebRequest.Create(url)
    request.Credentials = CredentialCache.DefaultCredentials
    Dim httpWebResponse = DirectCast(request.GetResponse(), HttpWebResponse)
    Dim dataStream = httpWebResponse.GetResponseStream()
    If dataStream Is Nothing Then
        Return ""
    End If
    Dim reader = New StreamReader(dataStream)
    Return reader.ReadToEnd()
Catch ex As WebException
    Return ""
End Try

【讨论】:

  • 谢谢,但是这种异常的原因是什么。我怎样才能停止调用 catch。
  • 我猜这是您调用的网址的连接问题。您的代码没有问题。
  • 并不一定意味着它也适用于其他系统。可能是防火墙设置或许多其他原因。并且错误消息“无法连接到远程服务器”表示这是一个连接问题。你能用服务器上的网络浏览器打开 URL 吗?
  • 当我从服务器使用 Web 浏览器打开 URL 时,出现此错误----------“无法显示此页面”。我该如何解决。
  • 所以这是您服务器上的连接问题。我认为您的原始问题已得到解答。这是一个编码论坛...如果您需要网络或服务器支持,那么您来错地方了。
猜你喜欢
  • 1970-01-01
  • 2018-02-06
  • 1970-01-01
  • 1970-01-01
  • 2016-07-31
  • 2014-01-07
  • 2017-01-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多