Обязательные параметры в объекте запроса (WCF) - PullRequest
1 голос
/ 21 мая 2010

lHi,

В настоящее время я пишу сервис WCF.Один из этих методов получает объект запроса и возвращает объект ответа.В запросе есть пара членов типа значения.

Есть ли способ определения членов, которые являются обязательными декларативным способом?Я нахожусь на ранней стадии разработки и не хочу сейчас начинать с версионирования.Кроме того, я не хочу иметь метод sig с 25 параметрами, поэтому я создал объект запроса.

У меня проблема в том, что из-за типов значений я никогда не могу быть уверен, что потребительслужба должна была иметь значение по умолчанию или просто из-за лени.Что касается потребителя, вам нелегко обнаружить, что вы, вероятно, пропустили это свойство.

Поэтому я хотел бы иметь что-то, что вынуждает вызывающую службу предоставлять значение, и если нет, то в идеале он получаетошибка времени.

есть идеи?

tia, Martin

Ответы [ 2 ]

2 голосов
/ 21 мая 2010

Да, абсолютно:

[DataContract]
public class YourRequestClass
{
   [DataMember(IsRequired=true)]
   int RequestID { get; set; }

}

Существует ряд податрибутов атрибута DataMember, которые вы можете использовать - Order и IsRequired, вероятно, наиболее часто используемые.

1 голос
/ 14 июля 2010

Пожалуйста, проверьте, решает ли ваша проблема следующее:

Атрибут IsRequired / EmitDefaultValue для DataMember

http://social.msdn.microsoft.com/forums/en-US/wcf/thread/d9e45449-cc50-42e2-b955-75ab86f01d4f

В вышеприведенной теме описывается комбинация IsRequired и EmitDefaultValue атрибуты установлены на элементе запроса, который согласно обсуждению, по крайней мере, швы для решения «вопроса»

ура

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