Запрос предоставляет пакет сообщений с другой подписью, а также предоставляет «метаданные» этого сообщения.Итак, пример довольно прост:
{
"SomeProp": 1,
"Messages": [{
"Type": "SomeMessage1",
"Body": {
"Id": 1,
"Action": "Delete"
}
},
{
"Type": "AnotherMessage",
"Body": {
"Amount": 0.001,
"Data": "data",
"Ok": "True"
}
}
]
}
Таким образом, задача состоит в том, чтобы связать каждое выражение 'Messages [i] .Body'.Единственное решение, которое я вижу до сих пор, - это анализ всей строки тела запроса, попытка десериализации всех «общих» свойств.А потом все делаю вручную.
Я попытался создать свой собственный IModelBinder, а затем извлек значения из Messages [i] .Type, выполнить частичную десериализацию запроса, но ValuePropviders по умолчанию возвращают нуль для модели и ее частей..
К сожалению, у меня больше нет идей.