Я действительно запустил его в пример API-проекта ASP.Net Core 2.2.Это на самом деле довольно легко, но мне также нужно было время.
Я создал диагностический класс, подобный тому, который упомянут в документации.Я назвал этот класс Diagnostics.cs
.Этот класс содержит код из документации Microsoft.Ни больше ни меньше.Затем я добавил его в качестве единственного сервиса в ConfigureServices ().
services.AddSingleton<Diagnostics>();
Наконец я внедрил его в ValuesController.
private Diagnostics _diag;
public ValuesController(Diagnostics diag)
{
_diag = diag;
}
При попадании в конечную точку от Почтальона я получил много событий.
ThreadID = 13588 ID = 192 Name = MethodJitInliningFailed
Name = "MethodBeingCompiledNamespace" Value = "Microsoft.IntelliTrace.TelemetryObserver.MvcActionEventArgumentSerializer"
Name = "MethodBeingCompiledName" Value = "SerializeArguments"
Name = "MethodBeingCompiledNameSignature" Value = "class System.String (class System.Collections.Generic.IEnumerable`1<value class System.Collections.Generic.KeyValuePair`2<class System.String,class System.Object>>)"
Name = "InlinerNamespace" Value = "Microsoft.IntelliTrace.TelemetryObserver.MvcActionEventArgumentSerializer"
Name = "InlinerName" Value = "SerializeArguments"
Name = "InlinerNameSignature" Value = "class System.String (class System.Collections.Generic.IEnumerable`1<value class System.Collections.Generic.KeyValuePair`2<class System.String,class System.Object>>)"
Name = "InlineeNamespace" Value = "System.Collections.Generic.IEnumerator`1[System.Collections.Generic.KeyValuePair`2[System.__Canon,System.__Canon]]"
Name = "InlineeName" Value = "get_Current"
Name = "InlineeNameSignature" Value = "instance !0 ()"
Name = "FailAlways" Value = "False"
Name = "FailReason" Value = "target not direct"
Name = "ClrInstanceID" Value = "8"
Это, конечно, только для целей тестирования.Я бы, вероятно, не добавил это как синглтон, но попытался бы сделать его универсальным / типизированным вместо этого и добавить его как ограниченную или временную службу.