예제 #1
0
        public async Task Get()
        {
            var context         = ControllerContext.HttpContext;
            var isSocketRequest = context.WebSockets.IsWebSocketRequest;

            if (isSocketRequest)
            {
                WebSocket webSocket = await context.WebSockets.AcceptWebSocketAsync();

                /*// Data fetching from DB
                 * var toDoItems = await _repositoryToDoItem.QueryNoTracking()
                 *                                       .OrderByDescending(s => s.CreateDateUTC)
                 *                                           .ThenByDescending(s => s.UpdateDateUTC)
                 *                                       .ToListAsync();
                 *
                 * // Websocket sending
                 * var jsonString = JsonSerializer.Serialize(toDoItems);
                 * var bytes = Encoding.ASCII.GetBytes(jsonString);
                 * var arraySegment = new ArraySegment<byte>(bytes);
                 * await webSocket.SendAsync(arraySegment, WebSocketMessageType.Text, true, CancellationToken.None);*/
                await _websocketHandler.Handle(Guid.NewGuid(), webSocket, _repositoryToDoItem);
            }
            else
            {
                context.Response.StatusCode = 400;
            }
        }
        public async Task Get()
        {
            var context         = ControllerContext.HttpContext;
            var isSocketRequest = context.WebSockets.IsWebSocketRequest;

            if (isSocketRequest)
            {
                var websocket = await context.WebSockets.AcceptWebSocketAsync();

                await _websocketHandler.Handle(Guid.NewGuid(), websocket);
            }
            else
            {
                context.Response.StatusCode = 400;
            }
        }