Можно ли каким-либо образом применять ограничения на значения, передаваемые в форме контрактов данных в качестве параметров для данной службы WCF?
Например, рассмотрите, пожалуйста, надуманное и, безусловно, некомпилируемое пример этого Vehicle
класса:
[DataContract]
public class Vehicle
{
[DataMember]
[Restriction(MinValue = 1, MaxValue = 30)] // Certainly not allowed... or is it?
public int NumberOfWheels { get; set; }
}
Поскольку, конечно, никто не ожидает найти автомобиль с более чем, скажем, 30 колесами, я хотел бы ограничить диапазон NumberOfWheels
до значения между 1 и 30. Можно ли каким-либо образом использовать ограничения / фасеты XSD для ограничения диапазона допустимых значений в этом случае?
(Обратите внимание, что я, конечно, мог бы изменить типот NumberOfWheels
от int
до, скажем, byte
для дальнейшего ограничения диапазона возможных значений. Однако это не решило бы проблему ... Конечно, никто не ожидает, что автомобиль будет иметь 255 колес.)