小编mkz*_*zza的帖子

MassTransit - 等待所有活动完成,然后继续处理

如果我有很多活动,是否会导致资源阻塞或请求超时?

这是我的场景:

我有一个 api 控制器,它向消费者发送订单请求;我使用请求/响应模式从消费者那里接收ErrorMessage属性,并根据该属性响应返回,如果它为空,我想以OK()其他方式返回,返回BadRequestOk但带有如下消息:Product out of stock to notice to the client

在我的消费者中,我建立了一个路由单,其中包含 2 个活动:

  • CreateOrderActivity:它创建一个带有订单详细信息的订单。
  • ReserveProductActivity:这会减少库存产品的数量,if product quantity < 0我将向消费者发布一条带有ErrorMessage的消息并补偿之前的活动。

    public async Task Consume(ConsumeContext<ProcessOrder> context)
    {
        try
        {
            if (!string.IsNullOrEmpty(context.Message.ErrorMessage))
            {
                await context.RespondAsync<OrderSubmitted>(new
                {
                    context.Message.OrderId,
                    context.Message.ErrorMessage
                });
    
                return;
            }
    
            RoutingSlipBuilder builder = new RoutingSlipBuilder(context.Message.OrderId);
            // get configs
            var settings = new Settings(_configuration);
    
            // Add activities
            builder.AddActivity(settings.CreateOrderActivityName, settings.CreateOrderExecuteAddress);
            builder.SetVariables(new { context.Message.OrderId, context.Message.Address, context.Message.CreatedDate, …
    Run Code Online (Sandbox Code Playgroud)

c# masstransit asp.net-core routing-slip

5
推荐指数
1
解决办法
1076
查看次数

如何在 Angular2 中的某些场景下路由后更新导航栏

我有一个引导导航栏,在导航栏的右侧,我有一些链接,例如登录、注销、注册我将其放在我的 app.component.html.ts 上

<div class="navbar-collapse collapse">
// Here i check if user is authenticated, display : Hello abc@gmail.com
<ul *ngIf="user" class="nav navbar-nav navbar-right">
          //code in here
</ul>
// If user is not authenticated, display Login - Register
<ul *ngIf="!user"  class="nav navbar-nav navbar-right">
  <li><a routerLink="/register" id="registerLink">Register</a></li>
  <li><a routerLink="/login" id="loginLink">Log in</a></li>
</ul>     
Run Code Online (Sandbox Code Playgroud)

在 login.component.ts 中,我调用 Authen.Service.ts 来获取存储在 localStorage 上的令牌

import { UrlConstants } from './core/common/url.constants';
import { LoggedInUser } from './core/domain/loggedin.user';
import { SystemConstants } from './core/common/system.constants';


@Component({
  selector: 'app-login',
  changeDetection: ChangeDetectionStrategy.OnPush, …
Run Code Online (Sandbox Code Playgroud)

html javascript css typescript angular

3
推荐指数
1
解决办法
6791
查看次数