天天看点

Wcf传递的参数实际不为空,但是接收时显示为空

在数据契约上加上命名空间限定,例如[DataContract (NameSpace="http://schemas.zknu.edu.cn/Msg")]

服务端和客户端的数据契约都需要加,千万不要去随意改动一方的命名空间值,如果不小心改动了,有时候就会出现:

Wcf传递的参数实际不为空,但是接收时显示为空。

主要原因是:WCF在发布服务契约时默认命名空间即为官方默认地址,而数据契约的默认命名空间格式为官方默认地址+数据契约的命名空间,一般服务契约不出问题,而数据契约在服务端和客户端单独创建时就会出现命名空间不一致的情况,导致出问题。

感谢:http://bbs.csdn.net/topics/390061524