Я пытаюсь оптимизировать вокруг возможного узкого места.
У меня есть серверное приложение, которое обслуживает объекты из базы данных удаленно, которые могут работать с 1 - n объектами 1 - n разных типов (где n может быть относительно большим числом), которые все реализуют общий интерфейс, но может содержать много уникальных свойств для разных типов.
Клиентские приложения хранят объекты сервера в локальном кэше до тех пор, пока они не будут готовы сохранить их через сервер в базе данных.
В настоящее время это делается в WCF, где каждый класс определяет DataContract.
Из-за возможного большого количества объектов, которые, возможно, потребуется передать обратно на сервер (это меняется в зависимости от реализации), я бы предпочел не делать все это как отдельные вызовы, а просто обернуть все объекты в один сериализованный (или еще лучше сжатый) поток и отправка их через одно соединение с сервером.
Я могу просто свернуть свой собственный, но предпочел бы использовать рекомендуемый подход и надеяться, что кто-то может предложить его. Если вы можете убедить меня, я также готов признать, что мой подход, вероятно, не лучшая идея.