问题还原:我们的存储服务是基于WCF服务实现的,协议采用NetTcpBinding(约定,不可变更的),数据库中有一张表(图片信息是以二进制方式存储的),我们在插入一个小于64K的图片时,并没有产生任何错误。然而当我们添加一个90K的图片时,便产生了红色的异常信息。
The socket connection was aborted. This could be caused by an error processing your message or a receive timeout being exceeded by the remote host, or an underlying network resource issue. Local socket timeout was '00:09:59.9669967'.
WCF编程开发过程时,使用NetTcpBinding绑定协议,作为通讯协议,可能会引发这样的异常,导致数据如法传输。套接字连接中断,可能是由于消息处理错误,或者远程宿主接受超时引起,或者是底层网络资源问题导致,本地套接字时间是'00:09:59.9669967'。MSDN上讨论的解决办法,更换其他的绑定协议确实可以解决问题,解决方案如下:
WSHttpBinding binding = new WSHttpBinding();
binding.ReceiveTimeout =