Код: Выделить всё
// Written by hand
public override async Task MyMethod (
[FromRoute(Name = "someString"), Required] string someString,
[FromRoute(Name = "someInt"), Required] int someInt,
[FromBody] MyMethodRequest myRequest)
< /code>
MyMethodRequest
Код: Выделить всё
// Auto-generated
[Required]
[DataMember(Name="MyObject", EmitDefaultValue=false)]
public MyClass MyObject { get; set; }
< /code>
MyClass
Код: Выделить всё
// Auto-generated
[DataContract]
public partial class MyClass: IEquatable
{
[Required]
[DataMember(Name="someState", EmitDefaultValue=true)]
public int SomeState { get; set; }
}
< /code>
If I call the MyMethod
Однако метод выполняется нормально, а SomeState инициализируется со значением по умолчанию 0. ModelState.isvalid - true . Объект состояния упоминает Somestring и expectint , но не атрибут MyRequest . Я даже не уверен, что MyRequest вообще проверяется.
Почему это? Я неправильно понимаю, как работает автоматическая проверка запросов в этом контексте? Вот почему я использую переопределение и необязательное имя . Атрибуты [требуется] из генератора.
Заранее спасибо за любую помощь.
Подробнее здесь: https://stackoverflow.com/questions/794 ... ed-propert