当前位置:编程学习 > C#/ASP.NET >>

[WCF]客户端上传文件流过程中网络意外断开,服务端Timeout不触发

业务需要从客户端上传一个文件到服务端,采用WCF netTcpBinding 方式,服务端代码如下:



FileUploadStream类如下:



服务端配置如下:



在生产环境中,由于网络情况不同,当文件较大,文件流上传时客户端突然中断(比如拔掉网线),服务端程序timeout不触发,也不报任何错误,而是阻塞在

while (length > 0)
{
   fw.Write(buffer, 0, length);
   length = fileUpload.ExcelStream.Read(buffer, 0, buffer.Length);
}
这个循环的Read方法中,这就导致这个filestream 一直hold住没有办法释放,即使用户重新上传,也会因为之前的文件没有释放,导致上次的错误文件无法删除(为了保证时序性和唯一性,上传文件不能采用不同的名字),新文件不能上传。

网上资料查了不少,依然不能解决问题,求大神告知~~
WCF Stream Server 网络 Buffer --------------------编程问答-------------------- 没人回我自己顶一下吧! --------------------编程问答-------------------- 出了高分还没人回应是最无奈的,帮你顶顶,表示无能为力,我也菜鸟
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,