WCF: почему я должен установить [поле], указанное вручную, чтобы отправить значение на сервер? - PullRequest
1 голос
/ 18 июля 2010

Я сгенерировал прокси WCF с целым числом [fieldName] в классе запроса контракта сообщения. Я пытался отправить значение на сервер, но значение всегда доходило до 0, пока я вручную не установил для [fieldNameSpecified] значение true.

Что-то не так с генерацией прокси или WCF был спроектирован таким образом? Каковы причины, лежащие в основе [Заданных] полей, особенно если строка / направляющие не имеют указанных полей в прокси-классах?

Заранее спасибо

1 Ответ

3 голосов
/ 19 июля 2010

Это потому, что сериализатор Xml никогда не обновлялся для поддержки Nullable, поэтому способ, которым он обрабатывал необязательные поля с использованием типов значений (скажем, int, для которого нельзя установить значение null), заключался в том, чтобы рядом с ним было логическое поле XxxSpecified это позволило вам указать сериализатору, учитывать ли значение для соответствующего поля или нет во время сериализации.

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