1

実際、XmlMtomReader が入力ストリームから MIME バイナリ部分を直接読み取るかどうかを知りたいですか? または、 ReadContentAsBase64() メソッドを呼び出す前に内部的に保存しますか?

4

1 に答える 1

1

私が思い出したように (そして、しばらく経ちました...)、XmlMtomReader は、MIME パーツが入力ストリームに現れる順序に応じて、必要な最小限の内部ストレージを実行します。(MTOM 標準では、それらを任意の順序で表示できます)。

たとえば、入力ストリームが次の場合:

  • バイナリパート 1
  • 次に、メインの XML 部分、たとえば

< a/ >< b >...バイナリ パート 1...< /b >< c >...バイナリ パート 2...< /c >< /d >

  • 次にバイナリパート2

何が起こるかは次のとおりです。

  • XML (要素 "a") の読み取りを開始するには、バイナリ パート 1 を内部に格納する必要があります。
  • 要素「b」の内容を読み取ると、内部ストレージから取得されます
  • 要素「c」の読み取りを開始すると、XML の残りの部分 (要素「d」) を内部に格納し、ストリームを Binary Part 2 に進めます。この時点で要素「c」の内容を読み取ると、直接来ます。ストレージからではなく、ストリームから。
  • 最後に要素「d」を読み取ると、XML は内部ストレージから取得されます
于 2009-10-01T18:01:41.953 に答える