私は別のスレッドでDBを照会しています。アプリケーションが終了すると、SqlConnectionは自動的に閉じられますか?
クエリが実行されているときにアプリケーションを閉じると、SqlConnectionは自動的に閉じられるか、開いたままになりますか?
私は別のスレッドでDBを照会しています。アプリケーションが終了すると、SqlConnectionは自動的に閉じられますか?
クエリが実行されているときにアプリケーションを閉じると、SqlConnectionは自動的に閉じられるか、開いたままになりますか?
処理が終了すると、ネットワーク接続を含むすべてのOSリソースが解放されます。言い換えれば - それは問題ありません。
アプリケーションが終了すると、開かれた他のすべてと共に、接続が閉じられます。
SqlConnectionは使い捨てのオブジェクトです。一般に、IDisposableを実装するオブジェクトのDispose()は常に良い習慣です。私はまた、SqlConnectionオブジェクトにClose()メソッドがあることに気付きました。あなたもそれを呼びますか?
@JoelCoehoorn:まあ、私はこの詳細と、この記事を見つけたそれは確かになど、速やかな接続を閉鎖回避するための言い訳ではありません。しかし、何かをしながら、あなたのアプリがダウンした場合、それは心配しない理由です*合理的に*無害。新しいデータファイルなどを書いている途中で死ぬことは、やっかいに対処するのが少し難しくなります(もちろん可能です)。 –
私はいくつかのケースでは、アプリケーションが閉じていることがわかりましたが、アクティブな接続を表示するためにsql-serverでクエリを実行すると、それらの接続が表示されます。 – shinji14
@バニラ:ネットワーク接続がタイムウェイトまたはそれに類似する可能性がありますが、それらが合理的に素早く落ちることが期待されます。どのような接続をデータベースに使用していますか? –