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