Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用Insights库读取应用程序指示灯跟踪事件_C#_Azure_.net Core_Azure Application Insights - Fatal编程技术网

C# 使用Insights库读取应用程序指示灯跟踪事件

C# 使用Insights库读取应用程序指示灯跟踪事件,c#,azure,.net-core,azure-application-insights,C#,Azure,.net Core,Azure Application Insights,在任何平台上,将跟踪事件写入Applications Insights都非常容易。例如,在dotnet core下的C#中,它是: Client.InstrumentationKey = InstrumentationKey; Client.TrackTrace("Test Trace from DotNet Console App."); 但读取这些数据似乎没有这样简单的API,至少通过NuGet是这样 我已经看过Kusto的文档: 但我最接近于简单、轻松地阅读跟踪事件的方法是阅读的文档,

在任何平台上,将跟踪事件写入Applications Insights都非常容易。例如,在dotnet core下的C#中,它是:

Client.InstrumentationKey = InstrumentationKey;
Client.TrackTrace("Test Trace from DotNet Console App.");
但读取这些数据似乎没有这样简单的API,至少通过NuGet是这样

我已经看过Kusto的文档:

但我最接近于简单、轻松地阅读跟踪事件的方法是阅读的文档,并将其转换为dotnet核心C#:


在不必构建web客户端的情况下,读取Insights trace(etc)事件的相对简单的方法是什么?

事实上,没有其他简单的方法,如单线或双线方法,可以将跟踪(和其他遥测数据)读回


到目前为止,您使用的是实现这一目标的最佳方法。

这里的问题是什么?您只是在寻找对代码的意见吗?问题已编辑。IMHO说,我比较了日志记录到洞察的易用性和读取数据的难度(相对而言),因为相对差异是显著的。我想知道是否有一个1行或2行的方法可以从Insights中读取数据,就像有一个1行或2行的方法可以编写数据一样。目前没有其他选项可以使用c#读取它。如果您只对来自实际发送数据的源的数据感兴趣,那么您有更多的选择。我应该指出,我心目中的使用已经被直接从Azure生成报告(特别是度量)所取代。我建议这是任何希望做同样事情的人的第一个调用端口(尽管针对跟踪事件的RESTfulAPI编写代码是有趣的!)
using (var client = new HttpClient(new HttpClientHandler {}))
{
    client.DefaultRequestHeaders.Add("x-api-key", ApiKey);

    var response = client.GetAsync(InsightsUrl).Result;

    var succ = response.IsSuccessStatusCode;

    var body = response.Content.ReadAsStringAsync().Result;

    var path = $@"{AppDomain.CurrentDomain.BaseDirectory}..\..\..\Insights.json";
    File.WriteAllText(path, body);
}