0

我正在编写一个小型 WCF 服务来返回基于 GPS 数据的地址。这只是我自己的学习应用程序。

目前,我的 WCF 公开了一个名为 GpsData 的对象类型,它具有 Lat 和 Long。它被装饰成[DataContract].

然后我有一个方法,getLocationByGpsData (GpsData);

在我最近参与的一个项目中,他们会以不同的方式进行。他们有一个名为 的对象LocationByGpsDataRequest,其中包含一个 GpsData 对象。它会返回一个 'LocationByGpsDataReply对象,其中包含 GpsData 对象以及一些额外的地址相关数据。

所以:

LocationByGpsDataReply reply = getLocationByGpsData(new LocationByGpsDataRequest { Lat=...; long=...' };

首先,他们的模型更好吗?也许它更具可读性?

其次,我真的不想自己公开 GpsData 对象。它总是包含在父类中。

var latitude = reply.GpsData.Latitude;

有没有办法“隐藏” GpsData 是一个独立的对象,这样当客户端看到ObjectTypes我的 WCF 服务公开的列表时,他们只会看到我打算使用的那些?希望这是有道理的...

4

1 回答 1

0

是的,我同意他们的方法更好。

另外,在 GPSdata 对象中隐藏属性(lat, long)的问题可以通过使用 [Ignore Properties] 标签来解决。

于 2013-03-09T08:49:58.790 回答