代码之家  ›  专栏  ›  技术社区  ›  David

System.Net.Sockets系统.SocketException异常

  •  -1
  • David  · 技术社区  · 15 年前

    我有一个应用程序,它通过http(s)对外部资源发出同步请求。每隔几周我就会有以下例外

    Exception: System.Net.WebException - Message: Unable to connect to the remote server
    

    让我困扰的是,我的跟踪日志显示,对于这个异常的每个实例,它都被抛出到请求中“21秒”。

    以前有人见过这样的行为吗?有解决办法吗? 系统中是否存在已知问题System.Net.HttpWebRequest命名空间?

    1 回复  |  直到 15 年前
        1
  •  0
  •   Mr. Smith    15 年前

    如果您正在访问外部资源,答案很可能是这些资源不可用(它们的服务器已关闭,您的连接已关闭,它们的连接已关闭,等等)。

    您可以在HTTPWebRequest对象的GetResponse()方法之前设置.Timeout属性,以延长正式超时之前的时间,并查看发生了什么:

    myHttpWebRequest.Timeout = 10; //In milliseconds
    

    如果失败,您可以尝试将其添加到配置文件中,如果您正在运行ASP.NET使用网络服务作为主机帐户:

    <configuration >
      <system.net>
        <defaultProxy>
          <proxy bypassonlocal="true" usesystemdefault="false" />
        </defaultProxy>
    </system.net>
    </configuration>
    

    Read the full details here

    推荐文章