示例#1
0
 public void SendMessageListener(WsMessage wsMessageEvent)
 {
     if (wsMessageEvent.persistenceType == NetworkPersistenceType.None)
     {
         return;
     }
     _persistentMessages.Add(wsMessageEvent);
 }
        public static WsMessage CreateWsMessage(string channelName, object realMessageToSend,
                                                NetworkPersistenceType networkPersistenceType = NetworkPersistenceType.None)
        {
            string type    = realMessageToSend.GetType().FullName;
            var    message = new WsMessage
            {
                channel         = channelName,
                message         = JsonConvert.SerializeObject(realMessageToSend),
                type            = type,
                persistenceType = networkPersistenceType
            };

            return(message);
        }
        public static object ReadWsMessage(WsMessage message)
        {
            if (!_typeBindings.ContainsKey(message.type))
            {
                String exceptionMessage = String.Format("Given type: {0} don`t have binding in WsMessageBuilder.",
                                                        message.type);
                Debug.WriteLine(exceptionMessage);
                return(new OperationCanceledException());
//                throw new UnassignedReferenceException(exceptionMessage);
            }

            Type jsonType = _typeBindings[message.type];

            return(JsonConvert.DeserializeObject(message.message, jsonType));
        }
        public static object ReadWsText(string rawMessage)
        {
            WsMessage message = JsonConvert.DeserializeObject <WsMessage>(rawMessage);

            return(ReadWsMessage(message));
        }
        public static string CreateWsText(WsMessage wsMessage)
        {
            string textMessage = JsonConvert.SerializeObject(wsMessage);

            return(textMessage);
        }
        public static string CreateWsText(string channelName, object eventToSend)
        {
            WsMessage wsMessage = CreateWsMessage(channelName, eventToSend);

            return(CreateWsText(wsMessage));
        }
        public void SendMessageListener(WsMessage wsMessageEvent)
        {
            string message = JsonConvert.SerializeObject(wsMessageEvent);

            Send(message);
        }