Экспорт объектов Breeze на стороне сервера в JSON
Я ищу способ экспорта объектов breeze на стороне сервера в строку json, которую менеджер breezejs может импортировать со стороны клиента. Я просмотрел все API-интерфейсы (как общедоступный, так и внутренний исходный код), но не смог найти очевидного способа добиться этого. Существует возможность получения желаемых результатов с помощью BreezeSharp (клиент.NET Breeze) на стороне сервера, но я хотел бы посмотреть, возможно ли это с использованием только API-интерфейсов сервера Breeze.
1 ответ
Сначала вам нужно определить форму импортируемого пакета, то есть что-то, что поймет manager.importEntities. Я не думаю, что формат задокументирован, но вы можете перепроектировать его, используя:
var exported = manager.exportEntities(['Customer', 'Product'], {asString:true, includeMetadata:false});
Затем довольно-распечатать значение exported
чтобы увидеть формат данных. Посмотрите EntityManager.exportEntities для получения дополнительной информации.
Как только вы это сделаете, вы можете воссоздать его на сервере. В C# вы можете создать его, используя Dictionary
а также List
объекты, а затем сериализовать его с помощью Json.NET.
Альтернативный подход заключается в том, чтобы ваш webhook просто сказал клиенту инициировать запрос для получения данных с сервера.