日期:2014-05-13  浏览次数:24796 次

C#通过调用WebService,实现ORACLE 数据库的远程备份,当备份数据量到达180G以上时,出现“基础连接已经关闭:接收时发生错误”错误,导致数据备份失败。

注:已经采用了异步调用WebService的方法。

 

查阅参考资料:

0.c# 基础连接已经关闭: 连接被意外关闭,错误的解决(原文地址:http://0e2.net/post/1173.html )

 

调试一个使用HttpWebRequest模拟提交表单的程序的时候频繁出现上述错误提示,google了一下发现了几个解决方案。
1)、在application.config或web.config文件里加入

<system.net> 
<settings> 
<httpWebRequest useUnsafeHeaderParsing="true"/> 
</settings> 
</system.net>


2)、设置clientConnectionLimit属性需要在客户端的 .config 文件当中: 
如:

<system.runtime.remoting> 
<application> 
<channels> 
<channel ref="http" clientConnectionLimit="50"> 
<clientProviders> 
<formatter ref="soap" /> 
</clientProviders> 
</channel> 
</channels> 
</application> 
</system.runtime.remoting>

这两种方法都没能解决我的问题,突然看到有人提到headers信息的问题,增加一句代码

MyRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)";
问题解决。

1.http://www.dingkao.com/a/100802/356147/

用vs 2003添加Web引用自动WebServices对象,来调用的. 
但在调用一个需要很耗时的一个方法时出现错误. 
错误原因为: 
"基础连接已经关闭接收时发生意外错误。 " 
我已经把超时时间设置成最大了,即 
WebServices对象.TimeOut = -1; 
请指教,调用需长时间等待的方法时应怎么处理. 
WebServices 可以 在 浏览器里访问了叼? 
应该不能访问的问题 asp.net生成的WebServices有一个调试的页面,直接输入叁数就可以执行,一旦执行这个方法经过长时间待待后就返回无法显示页面的错误. 使用回调机制避免超时