コード例 #1
0
        public void Post([FromBody] string value)
        {
            try
            {
                var eventMessage = new TemplateAddedIntegrationEvent()
                {
                    Message = value,
                    Names   = new List <string> {
                        "BDName1", "BDName2"
                    },
                    Quantity               = 1,
                    PrePosition            = false,
                    TranQType              = "TQ",
                    ConnectionResetMinutes = null
                };

                //Before publish, saving the response into DB
                if (ModelState.IsValid)
                {
                    var kafkaResponse = new KafkaResponse
                    {
                        ResponseType           = "Publisher",
                        EventMessage           = eventMessage.Message,
                        Names                  = eventMessage.Names.ToArray(),
                        Quantity               = eventMessage.Quantity,
                        TranQType              = eventMessage.TranQType,
                        ConnectionResetMinutes = eventMessage.ConnectionResetMinutes,
                        CreationDate           = DateTime.Now,
                        Topic                  = "bddev"
                    };
                    _kafkaResponseRepository.InsertAsync(kafkaResponse);
                }

                var headers = Request.Headers.ToDictionary <KeyValuePair <string, StringValues>, string, string>(item => item.Key, item => item.Value);
                _eventBus.Publish("bddev", eventMessage, headers);
                //Before publish, saving the response into DB
                if (ModelState.IsValid)
                {
                    var kafkaResponse = new KafkaResponse
                    {
                        ResponseType           = "Publisher After",
                        EventMessage           = eventMessage.Message,
                        Names                  = eventMessage.Names.ToArray(),
                        Quantity               = eventMessage.Quantity,
                        TranQType              = eventMessage.TranQType,
                        ConnectionResetMinutes = eventMessage.ConnectionResetMinutes,
                        CreationDate           = DateTime.Now,
                        Topic                  = "bddev"
                    };
                    _kafkaResponseRepository.InsertAsync(kafkaResponse);
                }
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message);
            }
        }
コード例 #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="event"></param>
        /// <returns></returns>
        public async Task Handle(TemplateAddedIntegrationEvent @event)
        {
            try
            {
                var context = _httpContextAccessor.HttpContext;

                if (context != null)
                {
                    foreach (var keyValuePair in @event.Headers)
                    {
                        context.Request.Headers[keyValuePair.Key] = keyValuePair.Value;
                    }
                }
                KafkaResponse kafkaResponse = new KafkaResponse
                {
                    ResponseType           = "Subscriber",
                    EventMessage           = @event.Message,
                    Names                  = @event.Names.ToArray(),
                    Quantity               = @event.Quantity,
                    TranQType              = @event.TranQType,
                    ConnectionResetMinutes = @event.ConnectionResetMinutes,
                    CreationDate           = DateTime.Now,
                    Topic                  = "bddev"
                };

                await _kafkaResponseRepository.InsertAsync(kafkaResponse);

                //@event.Headers
                // YOOO
                //Event sampleEvent = new Event();
                //_eventBus.Publish(sampleEvent);
                await Task.CompletedTask;
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message);
            }
        }