wcf 返回在本地测没事为什么在服务器上就返回空

2024-12-25 23:27:24
推荐回答(1个)
回答1:

你好,在确定服务方法本身没有逻辑错误的情况下出现此情况,99%是因为序列化问题导致的。
通常的情况是服务方法的返回值是不可序列化的对象类型。

如果返回值是自定义类型,可以参考新建wcf项目时微软替你添加的演示代码,其中的[DataContract]标明了数据契约,成员上的[DataMember]指定了该类中需要被序列化的数据成员。

当然,你也可以修改服务方法,令其返回其他可序列化格式的数据。

最后,如果需要调试时发现服务方法的内部错误,请在服务方法特性上添加[ServiceBehavior(IncludeExceptionDetailInFaults=true)],它将允许在运行时将异常信息传送回客户端,方便你在客户端调试。
上述特性等价于在服务配置文件中的ServiceBehavior一节上使用同名配置。