如果文件不存在的话,会报异常。
契约定义:
[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”。
报的什么异常?
套接字连接已中止。这可能是由于处理消息时出错或远程主机超过接收超时或者潜在的网络资源问题导致的。本地套接字超时是“00:00:59.9960000”。
@lucika.zh: 我帮你百度了一下
http://www.cnblogs.com/KimhillZhang/p/5309104.html
try catch
有没有有效的解决方法。如果stream不为空,正常。如果文件不存在,返回null就报异常。
stream能作为返回值吗?wcf上返回值好像要是能序列化的类型,下载文件不是这么下载的吧?可以通过ftp或tcp/ip下载的,如果文件小的话 可以通过转成string类型或者byte类型返回
WCF支持。如果stream不为null,没有任何异常。