Я пишу небольшую услугу WCF, чтобы вернуть адрес на основе данных GPS. Это просто учебное приложение для себя.Дизайн объекта для службы WCF
В настоящий момент мой 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, они видят только те, которые я намерен их использовать? Надеюсь, что это имеет смысл ...
, так что вы хотите только открыть Lat и Long, а не весь объект GpsData? – khlr