public OutboundQueueListener(IQueueManager queueManager, IWebSocketResponseHandler responseHandler, IAuditLoggerFactory auditLoggerFactory,
                              ILogger <OutboundQueueListener> logger)
 {
     _queueManager       = queueManager;
     _responseHandler    = responseHandler;
     _auditLoggerFactory = auditLoggerFactory;
     _logger             = logger;
 }
示例#2
0
文件: HttpServer.cs 项目: 210342/TPUM
        private async Task ListenerLoop(CancellationToken token)
        {
            while (_httpListener.IsListening && !token.IsCancellationRequested)
            {
                HttpListenerContext context = await _httpListener.GetContextAsync().ConfigureAwait(false);

                if (context.Request.IsWebSocketRequest)
                {
                    IWebSocketResponseHandler webSocket = _webSocketHandlerFactory.Invoke(context, token);
                    webSocket.OnClosing += () => _webSocketSubscribers.Remove(webSocket);
                    _webSocketSubscribers.Add(webSocket);
                    webSocket.Handle();
                }
                else if (!_httpHandlerFactory
                         .Invoke(context, _repository)
                         .Handle(
                             entity => CreateNetworkPacket(entity, BaseUri).Serialize(),
                             entities =>
                             _entityListSerializer.Serialize(entities.Select(e => Mapper.MapWebModelToDataModelEntities(e)).ToArray())))
                {
                    Stop();
                }
            }
        }