我正在编写一个小型 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 服务公开的列表时,他们只会看到我打算使用的那些?希望这是有道理的...