2013-03-09 3 views
0

Я пишу небольшую услугу 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, они видят только те, которые я намерен их использовать? Надеюсь, что это имеет смысл ...

+0

, так что вы хотите только открыть Lat и Long, а не весь объект GpsData? – khlr

ответ

0

Да, я согласен, что их подход лучше.

Кроме того, проблема спрятать атрибуты (lat, long) внутри объекта GPSdata может быть достигнута с помощью тега [Игнорировать свойства].

Смежные вопросы