У меня есть приложение javascript, использующее BreezeJs.
Когда я вызываю saveChanges
, объекты преобразуются в javascript и отправляются по сети. (Я подтвердил это со скрипачом.)
Но когда я устанавливаю точку останова в своем контроллере веб-API, JObject для SaveChanges имеет значение null.
Я не могу понять, почему.
Вот пример того, как настроен мой контроллер:
[BreezeController]
public class ShipmentController : ApiController
{
[HttpGet]
public string Metadata()
{
return dataAccess.Metadata();
}
[HttpGet]
public IQueryable<Shipment> Shipments()
{
return dataAccess.Shipments();
}
// This is what is NULL each time --------+
|
|
[HttpPost] V
public SaveResult SaveChanges(JObject saveJObject)
{
return dataAccess.SaveChanges(saveJObject);
}
//... Other stuff to get data
}
Мои запросы на получение данных через контроллер работают нормально. Так что это не сценарий полного провала.
И, как я сказал выше, Fiddler показывает действительный JSON, передаваемый по сети. Но почему-то контроллер не берет.
Мое единственное предположение состоит в том, что у меня есть несколько объектов, которые я добавляю в свои сущности бриза на стороне клиента. Но я сделал это, как указано в документации, и они появляются в разделе __unmapped
скрипта JSONin объекта.
Есть ли у кого-нибудь идеи, которые я могу попытаться выяснить, почему мой контроллер веб-API не получает JObject?