2012-03-21 10 views
0

データテーブルdtにエントリを格納するログクラスがあります。次に、SQLBULKCOPYを使用して、そのdtをSQLテーブルに書き出します。基本的なもの。問題は、私はSQLBULKCOPYを呼び出す場合、dtに50個のエントリがあるとします。問題は、ロギングオブジェクトを使用してコードクラス(ログクラスを使用しているコードブロックが例外をスローした場合のように、意図的に行ってもいなくても)を実行した場合でも、dtに15行ありますか?呼び出しクラスのメソッドを終了する

私がしたいのは、sqlbulkcopyを使用してdtから15個のレコードを書き込むログクラスの独自のメソッドを呼び出すログクラス自体にいくつかの "finalize"コードを持つことです。私はDispose/Finalizeメソッドをオーバーライドすることは本当に私の状況のた​​めではないことを知っています。そして、常に偽のfinalizeメソッドを呼び出すことができる巨大なtry/catchのような、ある種の外部からログへのクラスの方法を使用することは実現可能ではありません。 (なぜなら、ネストされたクラスの数が4〜5のレイヤーが数多く試着/使用されているなどの理由があります)

アイデアはありますか?

答えて

0

なぜIDisposableパターンを実装しませんか?

意図的にシャットダウンしている場合は.Disposeを呼び出すことができ、予期せずシャットダウンした場合は.Dispose(False)でクリーンアップできます。

関連する問題