Добавление аналитики приложения Runtime Intelligence для библиотеки, а не для приложения - PullRequest
0 голосов
/ 29 мая 2010

Я хочу добавить статистику использования библиотеки .NET 4.0, которую я пишу на CodePlex .

Я пытаюсь выполнить шаг, описанный здесь , но моя проблема заключается в том, что я пишу как библиотеку, а не как приложение.

На одном из шагов ставятся атрибуты Setup и Teardown. Я думал о добавлении атрибута Setup в статический конструктор или другое место, которое будет запускаться один раз за использование библиотеки. Моя проблема связана с атрибутом Teardown, который должен быть помещен в код, который прекращает использование. Я не знаю, где поставить этот атрибут.

Можно ли получить статистику использования библиотеки?

Может быть, я могу зарегистрироваться на событие, которое сработает, когда приложение выгружает DLL?

1 Ответ

2 голосов
/ 29 мая 2010

Это похоже на типичную раздачу приманки, предназначенную для того, чтобы предложить вам розничную версию своего обфускатора. Это тяжелое дело, мало кто играет в эту игру лучше, чем Preemptive. Да, использование атрибутов не подходит для библиотеки. Единственно возможным кандидатом будет финализатор. И вы не хотите, чтобы ваш код связывался с каким-либо веб-сайтом во время работы потока финализатора.

Взгляните на розничную версию своего продукта. Могу поспорить, что есть способ вызвать методы, которые обычно вводятся их обфускатором напрямую. Конструктор класса является очевидным кандидатом в «Setup». Обработчик события AppDomain.ProcessExit может быть возможным местом для вызова «Teardown». Это также может избежать необходимости запускать обфускатор вообще, что нежелательно в проекте с открытым исходным кодом.

...