基础连接已经关闭: 服务器关闭了本应保持活动状态的连接。(附带截图)
2015-01-20 15:32
1496 查看
前段时间开发.net 程序遇见这个问题,在此处分享一下解决方案。
出错坏境:
.net程序给webservice接口传送数据时候,其中偶尔的一条或者几条会出现:
基础连接已经关闭: 服务器关闭了本应保持活动状态的连接。
获取错误完整信息如下:
System.Net.WebException: 基础连接已经关闭: 服务器关闭了本应保持活动状态的连接。
在 System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request)
在 System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request)
在 System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
在 SAP.BLL.SAP_PI_IFS0030.SI_TMS_DELIVERYAUDITPRINT_OUT_SYNService.SI_TMS_DELIVERYAUDITPRINT_OUT_SYN(DT_TMS_DELIVERYAUDITPRINT_REQ MT_TMS_DELIVERYAUDITPRINT_REQ) 位置 E:\01 LovolTMS Source\LOVOLTMS201501091201\SAP.BLL\Web References\SAP-PI-IFS0030\Reference.cs:行号
79
在 SAP.BLL.BLLIFS0030.SendIFS0030(DataRow dr) 位置 E:\01 LovolTMS Source\LOVOLTMS201501091201\SAP.BLL\BLLIFS0030.cs:行号 36
解决办法:
在vs2010 解决方案资源管理器 中 显示所有文件,Web References 下面所用引用下面的 Reference.map 下面的Reference.cs(如果还没找到看下面图片),打开Reference.cs文件
如果有GetWebRequest方法加上webRequest.KeepAlive = false;
没有就重写GetWebRequest,简单点就是把以下代码贴上去
加上之后问题就在没有出现过。
如果问题还没解决欢迎联系我
出错坏境:
.net程序给webservice接口传送数据时候,其中偶尔的一条或者几条会出现:
基础连接已经关闭: 服务器关闭了本应保持活动状态的连接。
获取错误完整信息如下:
System.Net.WebException: 基础连接已经关闭: 服务器关闭了本应保持活动状态的连接。
在 System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request)
在 System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request)
在 System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
在 SAP.BLL.SAP_PI_IFS0030.SI_TMS_DELIVERYAUDITPRINT_OUT_SYNService.SI_TMS_DELIVERYAUDITPRINT_OUT_SYN(DT_TMS_DELIVERYAUDITPRINT_REQ MT_TMS_DELIVERYAUDITPRINT_REQ) 位置 E:\01 LovolTMS Source\LOVOLTMS201501091201\SAP.BLL\Web References\SAP-PI-IFS0030\Reference.cs:行号
79
在 SAP.BLL.BLLIFS0030.SendIFS0030(DataRow dr) 位置 E:\01 LovolTMS Source\LOVOLTMS201501091201\SAP.BLL\BLLIFS0030.cs:行号 36
解决办法:
在vs2010 解决方案资源管理器 中 显示所有文件,Web References 下面所用引用下面的 Reference.map 下面的Reference.cs(如果还没找到看下面图片),打开Reference.cs文件
如果有GetWebRequest方法加上webRequest.KeepAlive = false;
没有就重写GetWebRequest,简单点就是把以下代码贴上去
protected override WebRequest GetWebRequest(Uri uri) { HttpWebRequest webRequest = (HttpWebRequest)base.GetWebRequest(uri); webRequest.KeepAlive = false; webRequest.ProtocolVersion = HttpVersion.Version10; return webRequest; }
加上之后问题就在没有出现过。
如果问题还没解决欢迎联系我
相关文章推荐
- 基础连接已经关闭: 服务器关闭了本应保持活动状态的连接
- 基础连接已经关闭:服务器关闭了本应保持活动状态的连接 解决方法
- 基础连接已经关闭: 服务器关闭了本应保持活动状态的连接
- 基础连接已经关闭: 服务器关闭了本应保持活动状态的连接。
- HttpWebResponse.GetResponse() 基础连接已经关闭: 服务器关闭了本应保持活动状态的连接。
- HttpWebResponse.GetResponse() 基础连接已经关闭: 服务器关闭了本应保持活动状态的连接。
- .NET HttpWebResponse.GetResponse() 基础连接已经关闭: 服务器关闭了本应保持活动状态的连接。
- C# 基础连接已经关闭: 服务器关闭了本应保持活动状态的连接的错误
- 解决“基础连接已经关闭: 服务器关闭了本应保持活动状态的连接”
- 基础连接已经关闭: 无法与远程服务器建立信任关系
- 无法在Web服务器上启动调试。基础连接已经关闭:接收时发生错误--解决
- HttpWebRequest加载证书请求远端https服务器时 : 基础连接已经关闭: 无法与远程服务器建立信任关系
- 基础连接已经关闭: 该服务器提交了 HTTP 协议冲突
- asp.net使用FtpWebRequest向ftp上传文件报错 基础连接已经关闭: 服务器提交了协议冲突
- 事务仍然保持活动状态,不能关闭连接 ERRORCODE=-4471 SQLSTATE=null
- FtpWebRequest 的杂症 - "The server committed a protocol violation","基础连接已经关闭: 服务器提交了协议冲突"
- VS2008 无法在web服务器上启动调试 基础连接已经关闭 发送时发生错误
- 无法在Web服务器上启动调试。基础连接已经关闭:接收时发生错误 解决方案
- 无法再Web服务器上启动调试。基础连接已经关闭:发送时发生错误。
- 在用HttpWebRequest的时候,发现返回"基础连接已经关闭: 该服务器提交了 HTTP 协议冲突