Только отправить свойства заполненного объекта через WCF? - PullRequest
3 голосов
/ 13 мая 2010

У меня есть объект, который отправляется через WCF, который по сути является владельцем свойства - он потенциально может иметь большое количество свойств, например, до 100, но в общем случае будет установлено только небольшое подмножество, до 10 для экземпляр.

Пример:

[DataContract(Namespace = "...")]
public class Monkey
{
        [DataMember]
        public string Arms { get; set; }

        [DataMember]
        public string Legs { get; set; }

        [DataMember]
        public string Heads { get; set; }

        [DataMember]
        public string Feet { get; set; }

        [DataMember]
        public string Bodies { get; set; }

        /* repeat another X times */
}

Есть ли способ указать WCF отправлять только заполненные свойства по проводам? Это похоже на потенциальную потерю пропускной способности для отправки по всему объекту.

1 Ответ

4 голосов
/ 13 мая 2010

Да, возможно, вы можете сделать так

[DataContract(Namespace = "...")]
public class Monkey
{
        [DataMember(EmitDefaultValue=false, ....)]
        public string Arms { get; set; }

        ........    

        /* repeat another X times */
}

Подробнее о проверке свойства EmitDefaultValue MSDN

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...