首页新闻找找看学习计划

调用wcf接口出错: 内部错误: MessageContract 的实例在 http://tempuri.org/IFileStoreService/GetFileResponse 中不能为空。

0
悬赏园豆:20 [已解决问题] 解决于 2018-03-19 22:48

“/”应用程序中的服务器错误。


 

值不能为 null。
参数名: 内部错误: MessageContract 的实例在 http://tempuri.org/IFileStoreService/GetFileResponse 中不能为空。

说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.ServiceModel.FaultException`1[[System.ServiceModel.ExceptionDetail, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]: 值不能为 null。
参数名: 内部错误: MessageContract 的实例在 http://tempuri.org/IFileStoreService/GetFileResponse 中不能为空。

返回文件流,当文件不存返回一个null 时报上面错误。

返回对象数:

 

[MessageContract]
public class FileResponse
{
[MessageHeader]
public long Length { get; set; }

 

[MessageHeader]
public DateTime CreateTime { get; set; }

 

[MessageHeader]
public string Extension { get; set; }

 

[MessageBodyMember]
public System.IO.Stream Stream { get; set; }
}

 

wcf 接口代码:

 怎么解决接口返回null不报错?

_weiz的主页 _weiz | 初学一级 | 园豆:89
提问于:2017-06-28 19:25
< >
分享
最佳答案
0

把Model.FileResponse 这个数据契约里的 CreateTime 改成 CreateTime?  试试。

收获园豆:20
贫民窟大侠 | 老鸟四级 |园豆:4270 | 2017-06-29 10:51
其他回答(1)
0

那么你提出的问题呢?

~扎克伯格 | 园豆:1799 (小虾三级) | 2017-06-29 09:36

在wcf中返回null(文件存在时是不报错的),调用接口时就会报:

值不能为 null。

参数名: 内部错误: MessageContract 的实例在 http://tempuri.org/IFileStoreService/GetFileResponse 中不能为空。

 

怎么解决返回null时不报错呢?

支持(0) 反对(0) _weiz | 园豆:89 (初学一级) | 2017-06-29 09:43

@_weiz: 可以返回一个表示文件不存在的errorcode,为什么不能null,你得去看那个服务契约里的约定。

支持(0) 反对(0) ~扎克伯格 | 园豆:1799 (小虾三级) | 2017-06-29 09:50
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册