WCF服务应该返回普通的旧对象,还是您正在使用的实际类?

我正在从另一家公司使用WCF服务,它正在返回一个object类型的object 。 有没有理由不返回实际的类,并返回一个必须强制转换为正确forms的对象?

例如,如果Web服务返回OrderStatus类型的对象,为什么要返回一个普通的旧object

如果我错了,请纠正我,但这需要我手动(通过电子邮件或其他)获取OrderStatus类的定义,并将其放入我的解决方案中。 另外,我必须将对象显式地转换为OrderStatus对象。 更不用说公司可以更改服务以返回另一种类型的对象,我的代码将停止工作。

如果服务的返回值是OrderStatus类型的对象,那么该类会自动为我生成吗?

不,绝对不会回归“对象”! WCF应该使用DataContracts并定义请求的完整实现以及每个调用的可能响应对象。

请参阅这两篇关于Datacontract基础知识的优秀文章:

  • WCF教程第2部分 – 数据合同
  • WCF基础 – 数据合同

我不知道为什么这些服务的开发人员选择“对象”作为返回类型 – 对我来说没有多大意义!