XmlMtomReader 是否在内部缓存输入流中的二进制数据? [英] Does XmlMtomReader cache binary data from the input stream internally?

查看:20
本文介绍了XmlMtomReader 是否在内部缓存输入流中的二进制数据?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

实际上我想知道 XmlMtomReader 是否直接从输入流中读取 mime 二进制部分?还是在我调用 ReadContentAsBase64() 方法之前将它们存储在内部?

Actually i'd like to know if XmlMtomReader reads mime binary parts from the input stream directly? Or does it store them internally before i call ReadContentAsBase64() method?

推荐答案

我记得(而且已经有一段时间了...),XmlMtomReader 执行所需的最小内部存储量,具体取决于 MIME 部件的顺序出现在输入流中.(MTOM 标准允许它们以任何顺序出现).

As I recall (and it's been a while...), XmlMtomReader does the minimal amount of internal storage required, depending on the order in which the MIME parts appear in the input stream. (The MTOM standard allows them to appear in any order).

因此,如果您的输入流是,例如:

So if your input stream is, for example:

  • 二进制部分 1
  • 然后是主要的 XML 部分,例如

<一个/>...二进制部分 1......二进制部分 2...

  • 然后是二进制部分 2
  • 这是发生了什么:

    • 要开始读取 XML(元素a"),它必须在内部存储二进制部分 1
    • 当你读取元素b"的内容时,它来自内部存储
    • 当您开始读取元素c"时,它会在内部存储其余的 XML(元素d"),并将流推进到二进制部分 2.当您此时读取元素c"的内容时,它直接来自流,而不是来自存储.
    • 当您最后读取元素d"时,XML 来自内部存储

    这篇关于XmlMtomReader 是否在内部缓存输入流中的二进制数据?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆