MTOM — это стандарт, который использует сообщения, закодированные с помощью mime, состоящего из нескольких частей, для отправки больших частей сообщения, которые были бы слишком дорогими для кодирования base64 как чистого двоичного кода. Само сообщение SOAP отправляется как начальная часть сообщения и содержит ссылки на двоичные части, которые программный стек веб-службы, такой как WCF, затем может собрать вместе, чтобы создать единое представление сообщения.
Двоичное кодирование является полностью собственностью WCF и действительно имеет отношение не только к большим сообщениям. Он представляет собой двоичное представление XML Infoset, которое гораздо более компактно и быстрее для анализа, чем текстовые форматы. Если вы отправляете большие бинарные блоки данных, то они просто совпадают с другими отправляемыми байтами.
Потоковая передача может использоваться с любым форматом сообщений. Это больше касается того, когда данные записываются по сети, а не полностью буферизируются в памяти перед тем, как они будут представлены сетевому транспорту. Сообщения меньшего размера лучше буферизовать перед отправкой, а сообщения большего размера, особенно те, которые содержат большие двоичные фрагменты или потоки, требуют потоковой передачи или исчерпают ресурсы памяти.
person
Drew Marsh
schedule
27.07.2011