当前位置: 首页 > 知识库问答 >
问题:

Application Insights未从在Azure中记录任何内容。Net而不使用CancellationToken

施俊明
2023-03-14

我在使用以下代码登录到Application Insights时遇到问题:

var configuration = new TelemetryConfiguration();
            configuration.InstrumentationKey = "KEY";
            var client = new TelemetryClient(configuration);
            client.TrackEvent($"TEST EVENT", properties: new Dictionary<string, string>() { { $"TEST Property", $"TEST Value".ToString() } });

每当我使用下面的代码时,遥测记录都不会出现问题,但是,由于这不是一个异步调用,我们永远不会得到IsCancellationRequestedasFALSE,这将进入无限循环。

CancellationTokenSource tokenSource = new CancellationTokenSource();
            CancellationToken token = tokenSource.Token;
            var configuration = new TelemetryConfiguration();
            configuration.InstrumentationKey = "KEY";
            var client = new TelemetryClient(configuration);
            while (!token.IsCancellationRequested)
            {
                client.TrackEvent($"TEST EVENT", properties: new Dictionary<string, string>() { { $"TEST Property", $"TEST Value".ToString() } });
            }

有人能帮我确认一下我是否遗漏了什么吗?

-Shalabh

共有1个答案

柏阳炎
2023-03-14

有两个可能的原因:

  • 您正在创建新的远程配置对象,它默认为没有重试/没有本地存储的简单遥测通道,因此网络问题将导致事件丢失。您可以使用远程配置。活动的,它从Applicationnsights.config初始化,并将使用带有重试和本地存储的服务器遥测频道
  • 应用程序可以在方法执行后立即退出,没有机会填充遥测缓冲区并发送遥测。如果是这种情况,您可以使用Flush()。Flush()单独不会有帮助,除非您已经实现了同步通道,所以您可能还需要添加一个睡眠()
 类似资料:
  • 问题内容: 我刚刚在工作中获得了一个现有的Web应用程序,该应用程序应该使用Log4J记录其活动。我已经按照告诉我的方式配置了工作空间,其他所有内容(数据库连接,身份验证等)都可以正常工作,只是没有任何内容写入日志文件。其他类似的应用程序没有问题记录。 我已经在应用程序启动时查看了WebSphere控制台,那里没有错误可能表明Log4J没有记录的原因。 我向另一个开发人员提到了这一点(该开发人员曾

  • Selenium IDE不会记录来自该网站“http://suppliers.inwk.com”的任何内容。您可能没有获得登录访问权限的凭据,但如果您可以在Selenum IDE中记录登录页面本身,那么我想我们可以找到根本原因,或者至少得到一个线索。 如果我将页面保存到本地计算机,打开页面,并尝试记录它的工作情况。似乎这一行的来源就是那一页的根本原因。你们中有谁能从这一行中找出问题的性质吗? 此外

  • 我们正在使用Spring引导将指标发送到应用程序洞察我们正在使用应用程序洞察日志日志日志日志日志日志日志日志日志日志日志日志日志日志日志日志日志日志日志日志日志日志日志日志日志日志日志日志日志日志日志日志日志日志日志日志日志日志日志日志日志日志日志日志。 下面是我们在logj2-spring.xml中使用的附加程序 ** 我们在应用洞察搜索屏幕上看到日志,但是我有几个问题。 > 是否有一种方法可以

  • 我仍然没有发现正在发生的事情,但以下是我目前发现并做的事情: 1)log4j.xml文件格式不正确:缺少DOCTYPE,有多个布局,某些布局类不正确。 2)我已在命令行中指定了log4j.xml文件的路径;3)对DOMConfigurator和PropertyConfigurator的几次调用,我已将它们删除。 我将研究范围缩小到一个基于线程ID创建动态日志文件的类。在执行该类中的代码之前,log

  • 问题内容: 我正在尝试使用value从数据库中获取汽车。我尝试调用值为52 的方法,并检查数据库中是否存在值为52 的汽车。为什么不退还给我? 问题答案: 打电话一次,不要两次。您前进到结果的第一行,然后前进到第二行。由于查询未返回两行,因此不会获得第二行。您跳过了想要的行。