0

CodePlexで作成した .NET 4.0 ライブラリの使用統計を追加したいと考えています。

私はここで説明されている手順に従おうとしていますが、私の問題は、私が書いているのはアプリケーションではなくライブラリであるという事実にあります。

手順の 1 つは、属性SetupTeardown属性を配置することです。Setupライブラリの使用ごとに1回実行される静的コンストラクターまたは別の場所に属性を追加することを考えました。私の問題はTeardown、使用を終了するコードに配置する必要がある属性にあります。この属性をどこに置くべきかわかりません。

ライブラリの使用統計を取得することはできますか?

アプリケーションが dll をアンロードするときに発生するイベントに登録できますか?

4

1 に答える 1

2

これは典型的なハニーポットの景品のように見え、難読化ツールの小売版にあなたをコミットするように設計されています. これは難しいビジネスであり、プリエンプティブほどこのゲームを上手にプレイできる人はほとんどいません。はい、属性の使用はライブラリでは機能しません。可能な唯一の候補は、ファイナライザーです。また、ファイナライザー スレッドの実行中にコードが Web サイトにアクセスすることは望ましくありません。

製品の小売版を見てみましょう。通常は難読化ツールによって直接注入されるメソッドを呼び出す方法があるに違いありません。クラスコンストラクターは、「セットアップ」の明らかな候補です。AppDomain.ProcessExit イベントのイベント ハンドラーは、"Teardown" 呼び出しの場所になる可能性があります。これにより、難読化ツールをまったく実行する必要がなくなる可能性もあり、オープン ソース プロジェクトでは望ましくありません。

于 2010-05-29T13:57:39.337 に答える