WCF服务应该返回普通的旧对象,还是您正在使用的实际类?
我正在从另一家公司使用WCF服务,它正在返回一个object类型的object
。 有没有理由不返回实际的类,并返回一个必须强制转换为正确forms的对象?
例如,如果Web服务返回OrderStatus
类型的对象,为什么要返回一个普通的旧object
?
如果我错了,请纠正我,但这需要我手动(通过电子邮件或其他)获取OrderStatus
类的定义,并将其放入我的解决方案中。 另外,我必须将对象显式地转换为OrderStatus
对象。 更不用说公司可以更改服务以返回另一种类型的对象,我的代码将停止工作。
如果服务的返回值是OrderStatus
类型的对象,那么该类会自动为我生成吗?
不,绝对不会回归“对象”! WCF应该使用DataContracts并定义请求的完整实现以及每个调用的可能响应对象。
请参阅这两篇关于Datacontract基础知识的优秀文章:
- WCF教程第2部分 – 数据合同
- WCF基础 – 数据合同
我不知道为什么这些服务的开发人员选择“对象”作为返回类型 – 对我来说没有多大意义!
渣