Пример #1
0
        private async Task HandleNewMessage(string message)
        {
            try
            {
#if PERFORMANCE || false
                Stopwatch timer = new Stopwatch();
                timer.Start();
#endif
                var msgObject = JsonConvert.DeserializeObject <ReadingDto>(message);
                var value     = msgObject.Reading;

                var convertedValue = toUnit.ConvertFromBaseValue(FromUnit.ConvertToBaseValue(value));


                var clientMessage = new ClientMessageDto(msgObject, Thread.CurrentThread.ManagedThreadId, mqttClientManager.GetCurrentThreadCount(), convertedValue);
#if PERFORMANCE || false
                timer.Stop();
                PerformanceMeasurer.Log(mqttClientManager.GetCurrentThreadCount(), timer.ElapsedTicks, Thread.CurrentThread.ManagedThreadId);
                PerformanceMeasurer.DumpLog();
#endif
                await answerCallback("NewData", new object[] { JsonConvert.SerializeObject(clientMessage) }, CancellationToken.None);
            }
            catch (Exception e)
            {
                Log.Error("Error sending message " + e.StackTrace, e);
            }
        }
        public async Task <IActionResult> Enrol([FromForm] ClientMessageDto message)
        {
            if (ModelState.IsValid)
            {
                return(RedirectToAction("Index", "Home", new { area = "" }));
            }

            return(View(message));
        }
Пример #3
0
        public static Event ConvertOnWrite(ClientMessageDto.EventText eventText)
        {
            object data;
            object metadata;

            if (TryLoadAsObject(eventText.Data, out data) && TryLoadAsObject(eventText.Metadata, out metadata))
            {
                return new Event(eventText.EventId,
                                 eventText.EventType,
                                 true,
                                 Encoding.UTF8.GetBytes(Codec.Json.To(data)),
                                 Encoding.UTF8.GetBytes(Codec.Json.To(metadata)));
            }
            return new Event(eventText.EventId,
                             eventText.EventType,
                             false,
                             Encoding.UTF8.GetBytes(ToString(eventText.Data)),
                             Encoding.UTF8.GetBytes(ToString(eventText.Metadata)));
        }