WCF interface前加上如下属性(把原来的ServiceContract属性改为):
[ServiceContract,
XmlSerializerFormat(Style = OperationFormatStyle.Rpc)]
就没有额外参数了
通讯双方既然是以XML来传送参数的,XML语法上允许有些标记出现空值,.net 2.0也允许int等类型有空值,所以会出现你说的额外参数,这些额外参数指示是否出现空值。XmlSerializerFormat(Style = OperationFormatStyle.Rpc)是指示通讯双方,如何在XML中序列化方法调用的参数。Rpc风格使得不会给方法传送空的int值。这个属性不影响其它的数据序列化,因此没有副作用,可以安全使用。
时间: 2024-10-25 08:32:26