Сервисный прокси WCF не свойство установки “FieldSpecified”

Ошибочное представление действительно является ключевым. Существует много детали там - при необходимости, щелкните правой кнопкой по записям и скопируйте их содержание в свой любимый текстовый редактор. Одна проблема, которая может подойти, например, состоит в том, что, если у Вас уже есть конфигурация сервера на месте, и один из XML-файлов конфигурации unparseable, сервер не может быть добавлен. Это произошло со мной этим вечером - мой <Context>, элемент имел разрыв строки в нем, таким образом, это было <C (разрыв строки) ontext>. Это препятствовало тому, чтобы Eclipse воссоздал конфигурацию сервера.

17
задан Ian Kemp 5 November 2009 в 12:47
поделиться

3 ответа

Это может быть немного неинтуитивно (и меня тоже застало врасплох!), Но это единственный правильный способ обработки элементов, которые могут или не могут быть указаны в вашей XML-схеме.

И также может показаться нелогичным, что вы должны сами установить флаг xyzSpecified , но в конечном итоге это дает вам больше контроля, и WCF полностью посвящен Четырем принципам SOA , чтобы быть очень точным и ясным в отношении ваших намерений.

Итак, в основном - так оно и есть, привыкните к этому :-) Это поведение никак нельзя «миновать» - это способ, которым была разработана система WCF, и по уважительной причине.

Что вы всегда можете сделать, так это поймать и обработать this.RaisePropertyChanged ("EditDate");

17
ответ дан 30 November 2019 в 12:20
поделиться

Ян, Пожалуйста, не обращайте внимания на мои предыдущие ответы, объясняющие, как сосать яйца. Я проголосовал за их удаление.

Не могли бы вы сказать, какую версию Visual Studio вы используете, пожалуйста?

В клиенте VS2005 - в сгенерированном коде я получаю Specified , но при изменении значений не возникает событие. Для передачи данных мне нужно установить флаг Specified .

В клиенте Visual Web Developer 2008 Express - в сгенерированном коде я не получаю флагов Specified , но я получаю сообщение об изменении значения.

Мне кажется, что эта функциональность эволюционировала, и Web Dev 2008 ближе к тому, что вам нужно, и более интуитивно понятен, поскольку вам не нужно устанавливать помечает, как только вы установите значение.

Bowthy

0
ответ дан 30 November 2019 в 12:20
поделиться

Попробуйте это

[DataMember(IsRequired=true)]
public DateTime EditDate { get; set; }

Это должно пропустить EditDatesEpecied свойство, поскольку поле указано в соответствии с требованиями

11
ответ дан 30 November 2019 в 12:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: