C# webservie 传递一个大型byte数据,服务报错

C#webservie传递一个大型byte数据(几十M),服务报错System.ServiceModel.CommunicationException:接收对h**p:/... C# webservie 传递一个大型byte数据(几十M),服务报错

System.ServiceModel.CommunicationException: 接收对 h**p://****:6941/UploadData.asmx 的 HTTP 响应时发生错误。这可能是由于服务终结点绑定未使用 HTTP 协议造成的。这还可能是由于服务器中止了 HTTP 请求上下文(可能由于服务关闭)所致。有关详细信息,请参见服务器日志。 ---> System.Net.WebException: 基础连接已经关闭: 接收时发生错误。 ---> System.IO.IOException: 无法从传输连接中读取数据: 您的主机中的软件中止了一个已建立的连接。。 ---> System.Net.Sockets.SocketException: 您的主机中的软件中止了一个已建立的连接。
在 System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
在 System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
--- 内部异常堆栈跟踪的结尾 ---
在 System.Net.ConnectStream.Read(Byte[] buffer, Int32 offset, Int32 size)
在 System.Net.HttpWebRequest.MakeMemoryStream(Stream stream)
--- 内部异常堆栈跟踪的结尾 ---
在 System.Net.HttpWebRequest.GetResponse()
在 System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
--- 内部异常堆栈跟踪的结尾 ---

//调用webservice,数据处理接口,这里是循环调用这个方法的
//reciveData这个就是要传递的byte数据
var ClientData = new UpdateData.UploadDataSoapClient();
string info = ClientData.UploadDataFile(reciveData, PROCTYPE, i);
展开
 我来答
手机用户89855
2013-07-16 · 贡献了超过341个回答
知道答主
回答量:341
采纳率:0%
帮助的人:85.3万
展开全部
我遇到过这类问题vxbg原因应该是你的update语句。你的sql语句的update 某列= 某值a本来是正确的40但是如果用来修改二进制数据就不行gko你可以修改成参数形式的sql语句例如:update [表名] set [列名] = @param1 where 敏滚[列名] = 某值SqlParameter[] parameters = {     new SqlParameter("@Image"28 SqlDbType.Image)};原因是存储的数据类型是byte型imqu普通的方桥郑余式保存维数型数据无法完整保存到数据库。所以必须采用参数方式。在举个例子:url传递值,没有见过传递数组丛告的。可以尝试使用Image数据类型保存数据
追问
这里还没用到数据库操作,只是读取
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
清水栞
推荐于2018-04-20 · TA获得超过1547个赞
知道小有建树答主
回答量:1538
采纳率:50%
帮助的人:981万
展开全部
用代理类也这样?确定是由于大数据量引发的吗?(就是小数据量时不会报错)
更多追问追答
追问
小数据 不会有问题,  前面两个文件都很小,第三个文件就很大了  一下子就报错了
追答
Byte[]在XML里,应该是每一位都会有一个TargetName吧,要不换一种传输方法,将Byte[]按16进制输出成String,这样传能减少很多文本量,可以试试看
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
spirithjb
2013-07-17 · TA获得超过327个赞
知道小有建树答主
回答量:804
采纳率:40%
帮助的人:237万
展开全部
就服务器给出的错误提示,可能原因如下:
1. h**p:/启派/****:6941/UploadData.asmx 的服务断开了
2. 基础连接已经关闭
检查如下:
1. 在IE直接打开这个服务地茄旁弯址
2. 如果能打开,用数据测试下能否成功
3. 如果成功,那颤闷么请检查你在程序中所传递的byte数据,看是否符合web服务的参数规则
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
talencz
2013-07-16 · 超过52用户采纳过TA的回答
知道小有建树答主
回答量:163
采纳率:0%
帮助的人:139万
展开全部
亲,会不会是你引用服务有问题,,,导致端口根本就没打开过,,,
追问
都已经接受了几个小数据的内容了,一到大数据就报错了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式