如何在我的WCF服务中公开数据

时间:2012-05-08 13:01:51

标签: c# xml wcf soa

这有点愚蠢的问题。但是......

我正在公开街道位置的服务。到目前为止,我一直在做的是使用Entity Framework获取数据并使用XElement将数据解析为XML。然后在我的服务层中,我将返回XElement以在我的服务中公开。

这是暴露数据的正确方法吗?由于WCF正在使用数据协定,而数据协议反过来又串行化为XML,将它自己转换为XML是一种不好的做法吗?

我也可以返回一个List来完成同样的事情。但是,这意味着我无法控制XML的外观......

我可以遵循哪些最佳做法,哪里可以阅读有关最佳做法的一些好信息。我一直在这个网站上搜索,但在最佳实践方面有很多不同的主题。

由于

2 个答案:

答案 0 :(得分:2)

交换XML并不是一种坏习惯,但是,我认为通过交换类型安全数据可以获得更多好处。只需创建类并使用DataContractDataMember属性修饰它们。 WCF将负责在您的服务和客户之间对它们进行序列化。这样,您将在客户端代码中拥有具有类型安全属性的对象,并且这些数据可能更容易使用。

答案 1 :(得分:1)

我会使用DataContracts ...你不必自己序列化...... Datacontracts是(imho)更好的方式。