【问题标题】:NATS JetStream subscription in ASP.Net CoreASP.Net Core 中的 NATS JetStream 订阅
【发布时间】:2022-08-20 00:14:12
【问题描述】:

我正在订阅 NATS Jetstream 频道并处理从 NATS 服务器收到的消息。我可以通过连接到 NATS 服务器并订阅主题在控制台应用程序中完成此操作。现在我正在尝试在 ASP.Net 核心应用程序中配置订阅,以便它始终侦听频道并处理它收到的消息。有人可以帮助我如何以及在哪里配置 ASP.Net 核心应用程序? TIA。

    标签: c# asp.net-core-3.1 subscribe jetstream nats.io


    【解决方案1】:

    您可以实施托管服务并将其安装到您的核心应用程序。见docs

    粗样本:

    public class NatsConsumerHostedService : IHostedService
    {
        private IAsyncSubscription? _subscription;
        
        public async Task StartAsync(CancellationToken cancellationToken)
        {
            if (!cancellationToken.IsCancellationRequested)
            {
                // _subscription = await natsClient.Subscribe(...);
            }
        }
    
        public async Task StopAsync(CancellationToken cancellationToken)
        {
            await _subscription?.DrainAsync();
            _subscription?.Unsubscribe();
        }
    }
    

    安装它:

    var builder = WebApplication.CreateBuilder(args);
    // myriad of service registrations could go here...    
    builder.Services.AddHostedService<NatsConsumerHostedService>();
    

    【讨论】:

      猜你喜欢
      • 2022-01-07
      • 1970-01-01
      • 1970-01-01
      • 2022-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多