public override Task OnMessageReceived(ArraySegment <byte> message, WebSocketMessageType type) { try { var request = Encoding.UTF8.GetString(message.Array, message.Offset, message.Count); var change = JsonConvert.DeserializeObject <DocumenChange>(request); documentSession.Change(clientId, change); } catch (Exception e) { logger.Warning("Error on receive websocket message", e); throw; } return(Task.Delay(0)); }