Пример #1
0
        public Task PublishAsync <T>(T obj, CancellationToken token = default) where T : class, new()
        {
            using var connection = _natsConnectionFactory.CreateConnection();
            connection.Publish(_natsSubjectProvider.GetSubject <T>(), _natsMessageSerializer.Serialize(obj));

            return(Task.CompletedTask);
        }
Пример #2
0
 public NatsHostedHandler(
     INatsConnectionFactory natsConnectionFactory,
     INatsSubjectProvider natsSubjectProvider,
     INatsMessageSerializer natsMessageSerializer,
     IMessageHandler <TEvent> messageHandler)
 {
     using var connection = natsConnectionFactory.CreateConnection();
     _subscription        = connection.SubscribeAsync(
         natsSubjectProvider.GetSubject <TEvent>(),
         (_, args) =>
         new NatsMessageHandler <TEvent>(messageHandler, natsMessageSerializer).HandleAsync(
             args.Message));
 }