0

ディスク上にテキスト ファイルがあり、WCF 呼び出し元に文字列 (実際には POX コンテンツ) として出力されます。現在の WCF メソッド コードは、ファイル全体を文字列としてメモリに読み取り、文字列を返します。メソッドのシグネチャ/インターフェイスは変更できません。

システムの人気が高まっており、一部の文字列結果のサイズが 400k であるため、これは持続可能ではないのではないかと思います。

.NET 4.5 で文字列を戦術的に破棄する方法 (小文字の "d" を使用していることに注意してください。必ずしも IDisposable について質問しているわけではありません) を推奨できますか?できるだけ?

ありがとう。

4

2 に答える 2

0

圧縮以外:

私が理解している限り、応答オブジェクトに文字列型のプロパティがあり、それが主な問題です。一時的な解決策は、GC を明示的に呼び出すことですが、MSDN によると

「Collect を呼び出してガベージ コレクションを強制することは可能ですが、ほとんどの場合、これはパフォーマンスの問題を引き起こす可能性があるため、避ける必要があります。」

したがって、(可能であれば) 契約を変更し、ファイルの転送にストリーミングを使用することをお勧めします。

于 2013-06-07T12:04:22.787 に答える