Пример #1
0
        public async Task <HttpResponseMessage> Post([FromBody] byte[] message)
        {
            channel.OnReceive += Channel_OnReceive;
            mapper.MapIn(message);
            await channel.AddMessageAsync(message);

            ThreadPool.QueueUserWorkItem(Listen, waitHandles[0]);
            WaitHandle.WaitAll(waitHandles);
            if (result != null)
            {
                logger?.LogDebug("API returned response.");
                return(new HttpResponseMessage(HttpStatusCode.OK)
                {
                    Content = new ByteArrayContent(result)
                });
            }

            logger?.LogWarning("API returned no response from RTU.");
            return(new HttpResponseMessage(HttpStatusCode.InternalServerError));
        }