C# 基础连接已经关闭: 服务器关闭了本应保持活动状态的连接的错误

C# 调用JAVA的WebService时常会出现:

基础连接已经关闭: 服务器关闭了本应保持活动状态的连接的错误

 

问题可能原因之一:网速的快慢,我经过测试,如果外网访问的话网速慢就是出现此类问题,但是我没有精确测出当在网络流量最低在什么情况下可以避免此类问题

问题可能之二:程序发布之前没把原引用的web service地址去掉再编译发布。

问题可能之三:检查自已的源代码

问题可能之四:用SQL2000要升级到SP4

解决:
首先将引用该WebServices的程序在IDE中打开;
然后在“解决方案资源管理器”中展开“web reference”——“webservices 名”——“Reference.map”——“

Reference.cs(.vb)”;
cs文件中添加如下代码:

using System.Net;

protected override WebRequest GetWebRequest( Uri uri)
{
      HttpWebRequest  webRequest = ( HttpWebRequest)base.GetWebRequest(uri);
      webRequest.KeepAlive = false;
      webRequest.ProtocolVersion = HttpVersion.Version10;
      return webRequest;
}

 

 

vb文件中添加如下代码:

Imports System.NET

Protected Overrides Function GetWebRequest()Function GetWebRequest(ByVal url As Uri) As WebRequest
            Dim webrequest As HttpWebRequest = MyBase.GetWebRequest(url)
            webrequest.KeepAlive = False
            Return webrequest
End Function

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值