У меня есть процессор сообщений, где я хотел бы взять кусочек json с оберткой известной схемы, но со свойством, которое является динамическим объектом, подобным следующему:
public class NotificationDetails
{
[JsonProperty(PropertyName = "id")]
public string NotificationID { get; set; }
public DateTime? DateCreated { get; set; }
public DateTime? DateSent { get; set; }
public string TemplateUrl { get; set; }
public dynamic Model { get; set; }
}
, как вы можетевидите, последнее свойство имеет динамический характер.все уведомления будут иметь разные схемы моделей, поэтому я хотел бы, чтобы они просто сохранялись как вложенный объект.
Тем не менее, когда я пытаюсь создать объект с помощью
client.CreateDocumentAsync(UriFactory.CreateDocumentCollectionUri(DatabaseId, collectionId), item)
Iполучить следующее сообщение об ошибке:
Наилучший перегруженный метод сопоставления для 'MyClass.CreateNotification (NotificationDetails))' имеет несколько недопустимых аргументов
Я думал, что могу бросить что-нибудь вэти документы.Что я делаю неправильно?я должен использовать что-то кроме динамического для этого свойства Model?
UPDATE Я понял, что это было кое-что о том, как я вызывал метод Wait () для задачи, возвращенной из DocumentClient.Как только я вернулся к стратегии асинхронного ожидания, она начала работать правильно.