zoukankan      html  css  js  c++  java
  • HttpWebResponse.GetResponse() 基础连接已经关闭: 服务器关闭了本应保持活动状态的连接。

    在向同一个地址短时间内连续发送 HttpWebResponse.GetResponse() 的时候总会遇到 基础连接已经关闭: 服务器关闭了本应保持活动状态的连接。

    遇到这种情况应该是http时间的问题,软件或硬件负载平衡环境包含那些支持 HTTP 1.1 和 keep-alive 连接, 服务器中承载 Web 服务调用可能具有终止按时间,
    客户端尝试重用该连接。

    如果此错误仍然出现应用此修复程序后, 请尝试下列解决方案:(两种方式)

    一、服务器上修改

    1. 打开 MicrosoftInternet 信息服务器 (IIS) 管理控制台并找到 Web 服务器。
    2. 单击 网站 选项卡的 属性 页为 Web 站点。
    3. 单击以清除 保持连接 - 启用 HTTP 复选框。
     
    二、代码上
    可能需要禁用 keep-alive

    1. 将 HttpWebRequest 类的 KeepAlive 属性设置 为 false 。
    2. 改写由 MicrosoftVisualStudio.NET 生成有关 Web 客户端代理 Reference.cs 文件中 HttpWebRequest 方法。
    以下代码替代 HttpWebRequest 方法。

    复制代码
    protected override WebRequest GetWebRequest(Uri uri)
     {
        HttpWebRequest webRequest = (HttpWebRequest) 
        base.GetWebRequest(uri);
       webRequest.KeepAlive = false;
        return webRequest;
     }
  • 相关阅读:
    数据结构和算法大纲
    内存碎片产生原因及处理技术
    相关资源
    busybox hexdump 命令使用
    http协议中content-length 以及chunked编码分析
    libtool工具的使用
    音视频学习相关资源
    winpcap
    ipkg包管理
    system返回值校验
  • 原文地址:https://www.cnblogs.com/zcm123/p/3030833.html
Copyright © 2011-2022 走看看