潜在的なメモリリークと「接続」という言葉を追跡することに言及しています。データベース接続を意味していると思います。
using
常にすべての接続とコマンドを句でラップする必要があります。これにより、エラーの発生、クライアントの切断などに関係なく、接続/コマンドが適切に破棄されることが保証されます。
ここにはたくさんの例がありますが、要約すると次のようになります。
using (SqlConnection conn = new SqlConnection(connStr)) {
using (SqlCommand cmd = new SqlCommand(conn)) {
// do something here.
}
}
なんらかの理由で、コードでこの方法を実行できない場合は、間違ったことをしたので、次に行うことは再構築することをお勧めします。一般的な問題は、一部の人々がページ実行の上部に接続オブジェクトを作成し、それをページの存続期間中再利用することです。これにより、接続プールでのエラー、メモリの損失、ランダム クエリの問題、アプリの完全なホスティングなどの問題が発生することが保証されています。
コードで接続が必要な時点で接続を確立 (および破棄) することで、パフォーマンスを心配する必要はありません。Windows は超高速の接続プールを使用し、アプリが完了を通知した場合でも、必要な限り接続を維持します。
また、管理されていないクラスを使用するたびに、このパターンを使用する必要があります。それらは常に実装しIDisposable
ます。