首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >停止控制器活动OperationId被流到发送的消息

停止控制器活动OperationId被流到发送的消息
EN

Stack Overflow用户
提问于 2018-06-15 08:08:38
回答 1查看 49关注 0票数 0

我有一个带有单个控制器的web核心2.1应用程序。此控制器只接受一个没有属性的Post。我用这个帖子作为一种开始一些功能的方式。当我接收到Post时,我调用一个函数,该函数产生多个任务,每个任务都有一个延迟,然后通过HttpClient发送消息。这基本上模拟了向我的端点发送数据的多个设备。我所发现的是,来自原始邮报的OperationId被流经到所有发送的消息。这个功能不是我想要的,因为从应用程序的洞察力来看,所有发送的消息都链接在一起,因为它们都使用相同的OperationId。我想做的是在通过单个OperationId发送的每条消息中都使用一个唯一的HttpClient。

下面是一些用于延迟消息发送的代码。未显示的“心跳”对象只需添加相关的消息文本,然后对在SendAsync中传递的内容执行HttpClient操作。

StartWork函数通过原始Post调用的"for“循环多次调用。

代码语言:javascript
复制
    private async Task StartWork(IHeartbeat heartbeat, int heartbeatInterval, CancellationToken cancellation)
    {
        await Task.Delay(TimeSpan.FromSeconds(_rnd.Next(1, heartbeatInterval)), cancellation);
        await DoWork(heartbeat, heartbeatInterval, cancellation);
    }

    private async Task DoWork(IHeartbeat heartbeat, int heartbeatInterval, CancellationToken cancellation)
    {
        if (!cancellation.IsCancellationRequested)
        {
            await InvokeHeartbeat(heartbeat, cancellation);

            Task.Delay(TimeSpan.FromSeconds(heartbeatInterval), cancellation)
                .ContinueWith(t => DoWork(heartbeat, heartbeatInterval, cancellation), cancellation);
        }
    }

    private async Task InvokeHeartbeat(IHeartbeat heartbeat, CancellationToken cancellation)
    {
        if (!cancellation.IsCancellationRequested)
        {
            await heartbeat.Send(_client, _host, _stopwatch, _logger, cancellation);
        }
    }

是否有方法修改“InvokeHeartbeat”函数中发送的每条消息的InvokeHeartbeat?

为了清晰起见,我所指的OperationId是可以使用以下方法查看的:

代码语言:javascript
复制
Activity.Current.Id;

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-15 10:40:26

您需要创建新的活动,以便在传出电话时获得不同的ids。

查看以下文档:https://github.com/dotnet/corefx/blob/master/src/System.Diagnostics.DiagnosticSource/src/ActivityUserGuide.md

特别是“创建儿童活动”部分。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50871511

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档