为外部对象创建DataContract

时间:2013-03-27 10:28:47

标签: c# wcf web-services datacontract

我目前正在使用C#.NET开发WCF Web服务。我对此很新。我正在考虑应该如何实现某个方法,因为它需要将“外部”对象作为DataContract返回。我不确定这是如何运作的。

我的Web服务实现了另一个第三方Web服务。原因是我们不允许向公众公开所有方法和数据。因此,我们正在设计一个Web服务,它会删除第三方Web服务公开的某些数据和方法。

第三方Web服务公开了这样的方法:

CourtVerdictResults GetVerdict ( CourtVerdictRequest verdict );

我的Web服务实现了该方法的精简版本,如下所示:

CourtVerdictResults GetVerdict ( String verdictCaseNumber );

在那个方法中我删除了一些敏感数据,之后我应该返回CourtVerdictResults个对象。

但是此对象在第三方Web服务中定义。我的项目引用了Web Service,因此它知道该对象。但我自己的Web服务没有将该对象作为DataContract。那么当其他人开始使用我的Web服务时,如何返回这样的对象?

我是否需要做一些特别的事情,以便当其他人实施我的Web服务时,他们的代码会自动了解CourtVerdictResults

1 个答案:

答案 0 :(得分:1)

您可以创建自己的CourtVerdictResults类(在不同的命名空间中或名称将发生冲突)与第三方对象相同(或者与您希望的相同)。

从他们的服务中检索第三方对象,将其值映射到您的对象(如果使用ValueInjector或类似的东西,则很简单),然后返回您的对象。