私は、開発したソリューション全体で使用されるロギング用の静的クラスを作成しています。ロギングが機能するには、このようななどのコンソールアプリケーション、ASP.NETアプリケーション、としてそれを使用するいくつかのコンポーネント...アプリケーションの起動時に静的クラスのメソッドを自動的に呼び出す方法
がありますが、それは使用することができます前に、いくつかの初期起動時の設定を行う必要があり、また、いくつかの各アプリケーションの終了時にクリーンアップします。
.NETでこれを行う方法はexpicitly溶液中の各アプリケーションからStartLog()とFinishLog()メソッドを呼び出すことなく、ありますか?あるいはこれを完全に見ている別の方法でしょうか?私は、ロギングクラスが初期化されているかどうかをチェックするために、各ログ()メソッドでロックを使用することについて考えてきた
は、しかし、両方のパフォーマンスと複雑さの潜在的なオーバーヘッドは私をおびえさせます。あなたが最初のクラスを使用するときに自動的に呼び出されます -
これでも、StartLog()を呼び出す必要があります(つまり、最初にクラスを使用する必要があります)。私はその周りに道があるとは思わない、ちょうどもっと明示することが良いかもしれないと思った。 –
私は静的なコンストラクタとその同等のデストラクタであるAppDomain.DomainUnloadを見ています。しかし、MSDNではDomainUnloadイベントが既定のアプリケーションドメインで生成されることはないので、これはオプションではないようです。 –
それで、私はProcessExitも見てみることをお勧めしました:) –