Можно ли установить требование в WCF, чтобы конкретная строка данных имела максимальную длину?

По сути, я хочу провести базовую проверку и улучшить неявную документацию, которую дает вам WSDL.

Я почти уверен, что это возможно при написании сырого WSDL, но я не уверен, что вы можете сделать это в WCF, используя атрибуты и т. Д.

И в связи с этим требуется, чтобы свойство массива содержало хотя бы один элемент ...

6
Gareth 11 Дек 2009 в 16:32

2 ответа

Лучший ответ

Нет, насколько мне известно, это невозможно - по крайней мере, пока. Существует концепция плавающих аннотаций данных, поддерживаемых динамическими данными ASP.NET, а теперь и службами Silverlight RIA, но в «чистом» WCF я не знаю ни одного такого средства ограничения длины строки. в вашем DataContract или требуя, чтобы массив имел хотя бы один член.

По крайней мере, не декларативно (то есть с атрибутами в вашем контракте данных).

Есть несколько вещей, которые вы можете сделать с контрактом данных, например, требовать наличия атрибута и т. Д., Но они очень ограничены по объему.

6
marc_s 11 Дек 2009 в 16:38
Да, я так думал. Спасибо за разъяснение.
 – 
Gareth
11 Дек 2009 в 16:39

Я предполагаю, что этот пост старый, но теперь он существует, просто добавьте атрибут Maxlength

[MaxLength(MaxLength = 100)]
public string Name{ get; set; }
1
Darryl Windsor 6 Июл 2017 в 20:02
У меня это не сработало. По крайней мере, это не изменило сгенерированный WSDL для моей службы WCF.
 – 
Marcel
3 Май 2019 в 15:25