解决调用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

posted @ 2016-03-18 17:17  我是菜.鸟  阅读(5406)  评论(0编辑  收藏  举报