現在、私のDALメソッドの1つは、ExecuteXmlReaderコマンドを使用して、StringBuilderオブジェクトを読み取って追加し、XMLを文字列として返します。ToString()メソッドがStringBuilderで呼び出されると、メモリ不足の例外がスローされるため、これは非常に大きなファイル(200MB以上)を処理するための最良の方法ではないことに気付きました。
遵守する必要のある特定の制約があります-XMLReaderをDALから返すことはできません(db接続が開いたままになるなど)。このXMLはファイルに書き込まれ、さまざまな理由でフォーマットを維持する必要があります。現在、XMLTextWriterのWriteRawを使用しています。その目的のための方法。
大きなXMLファイルでこれらすべてを機能させるためにDALから返すのに最適なデータ型は何でしょうか?データセット、メモリストリーム、バイト配列を使用するオプションを検討しましたが、それぞれに欠点があります。私はベストプラクティスを探しています。いくつかのコードサンプルが役立つでしょう。