.NET HTTPCLIENTおよびHTTPCLIENTHANDLER:DISPARALが必要ですか? この記事では、.NETのと
がを使用して明示的な廃棄を必要とするかどうかの一般的な質問に対処しています。 どちらもHttpClient
を実装していますが、Microsoftの例はしばしば明示的な廃棄コールを省略します。
HttpClientHandler
Dispose()
評決:処分は一般的に不要ですIDisposable
短い答えはノーです。通常、またはオブジェクトを明示的に処分する必要はありません。 そうすることは、具体的な利点を提供せずに不必要なオーバーヘッドを導入する可能性があります。
ベストプラクティス:不必要な処分を避けてくださいHttpClient
HttpClientHandler
およびの設計には、一般的な使用のために手動で処分する必要はありません。 廃棄からの潜在的なパフォーマンスの向上は、一般に、追加された複雑さと比較して無視できます。
コードに関する考慮事項:安全な処分慣行HttpClient
HttpClientHandler
処分することを選択した場合(一般的には推奨されません)、
を処分することを確認してください。誤った処分命令は問題につながる可能性があります。 ただし、これを行うことの利点は最小限であり、追加された複雑さによってしばしば上回ります。
なぜ実装?HttpClientHandler
HttpClient
実装により、将来の拡張性が可能になります。 Microsoftは、最適なリソース管理のために廃棄が必要になる将来の.NETバージョンでシナリオを導入する可能性があります。 今のところ、これらのオブジェクトを明示的に処分しないという確立されたベストプラクティスに従うことが最善です。
Microsoftの例は誤解を招く例ですか? いいえ、明示的な処分を省略するマイクロソフトの例は、典型的なユースケースにとって誤解を招くものでも安全ではありません。彼らは、ガベージコレクターにクリーンアップを処理できるようにする現在のベストプラクティスを反映しています。
以上がhttpclientとhttpclienthandlerを処分する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。