1 時間ごとに実行される Windows サービスにログインしたいと考えています。Parallel.ForEach
Windows サービス内で使用しています。AdoNetAppender を使用して sqlserver データベースにログインしています。
ILog _log = LogManager.GetLogger(typeof(EmailJob));
上記の行は、静的インスタンスを使用してデータベースにログインしていることを意味しますよね? AdoNetAppender で接続を維持するにはどうすればよいですか? 私の Windows サービスが最初の反復を完了すると、AdoNetAppender の接続の状態はどうなりますか。すぐに閉じますか、それともガベージ コレクターが処分するのを待っていますか? 次の反復が開始されると、新しい接続が開かれますか?
私の Windows サービスは常に実行されているため、ガベージ コレクターがオブジェクトを破棄するのに時間がかかると、開いている接続の数が SQL Server の最大開いている接続の制限を超えます。反復が終了したら接続を閉じ、反復が開始したら接続を開く必要があります。何をすべきか?