首页 新闻 搜索 专区 学院

WCF下载文件异常

0
悬赏园豆:30 [已关闭问题] 关闭于 2017-10-12 16:38

如果文件不存在的话,会报异常。

契约定义:

[OperationContract]
Stream DownloadFile(string fullpath);

如果直接采用stream,文件不存在直接返回null,会报错。

如果返回下面的结果,同样如果stream为空会报异常。

复制代码
 [MessageContract]
    public class UpFile
    {
        [MessageHeader]
        public long FileSize { get; set; }
        [MessageHeader]
        public string FileName { get; set; }
        [MessageBodyMember]
        public Stream FileStream { get; set; }
    }
复制代码

只知道结果,不知道原因,求解。

问题补充:

抛出的出错原因。

服务端已执行完毕。

套接字连接已中止。这可能是由于处理消息时出错或远程主机超过接收超时或者潜在的网络资源问题导致的。本地套接字超时是“00:00:59.9960000”。
lucika.zh的主页 lucika.zh | 初学一级 | 园豆:59
提问于:2017-09-15 11:25
< >
分享
所有回答(3)
0

报的什么异常?

猝不及防 | 园豆:1994 (小虾三级) | 2017-09-15 13:17

套接字连接已中止。这可能是由于处理消息时出错或远程主机超过接收超时或者潜在的网络资源问题导致的。本地套接字超时是“00:00:59.9960000”。

支持(0) 反对(0) lucika.zh | 园豆:59 (初学一级) | 2017-09-15 13:38

@lucika.zh: 我帮你百度了一下

http://www.cnblogs.com/KimhillZhang/p/5309104.html

支持(0) 反对(0) 猝不及防 | 园豆:1994 (小虾三级) | 2017-09-18 08:29
0

try catch

LLSmile | 园豆:257 (菜鸟二级) | 2017-09-15 13:46

有没有有效的解决方法。如果stream不为空,正常。如果文件不存在,返回null就报异常。

支持(0) 反对(0) lucika.zh | 园豆:59 (初学一级) | 2017-09-15 15:53
0

 stream能作为返回值吗?wcf上返回值好像要是能序列化的类型,下载文件不是这么下载的吧?可以通过ftp或tcp/ip下载的,如果文件小的话 可以通过转成string类型或者byte类型返回

jqw2009 | 园豆:2108 (老鸟四级) | 2017-09-15 15:07

WCF支持。如果stream不为null,没有任何异常。

支持(0) 反对(0) lucika.zh | 园豆:59 (初学一级) | 2017-09-15 15:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册