В самой структуре бота есть способ записи телеметрии в экземпляр Application Insights.Я считаю, что это то, что вы настроили и работали до сих пор.Для написания пользовательских событий / метрик вы можете просто использовать AI TelemetryClient
самостоятельно , как вы это делали бы в любом другом приложении .NET Core .
После регистрации вы измените свой * 1006.* класс, чтобы взять TelemetryClient
в качестве зависимости от его конструктора, который затем будет введен для вас, а затем вы просто начнете записывать события / метрики, как обычно.
Реальный вопрос, который я всегда хотел бы задать:Вы действительно хотите тесно связать себя непосредственно с API Application Insights?Возможно, вы просто хотите иметь определенный уровень ведения журнала, который вы делаете через абстракцию ведения журнала (например, ILogger[<T>]
)?Или, если вам нужны события, возможно, вы хотите использовать EventSource
вместо этого.Обе эти абстракции могут затем быть захвачены Application Insights путем настройки соответствующих модулей телеметрии , но они не привязывают ваш код непосредственно к самой Application Insights.Я считаю, что единственное, что не имеет хорошей существующей абстракции, - это если вам нужно собрать метрики.Конечно, вы все равно могли бы создать для этого свою собственную абстракцию, а затем создать собственный модуль, который направляет детали в AI.