Пример #1
0
        /// <summary>
        ///     Creates the instance.
        /// </summary>
        /// <param name="dataContractSerializer">The data contract serializer.</param>
        /// <param name="type">The type.</param>
        /// <param name="serializedObject">The serialized object.</param>
        /// <param name="encoding">The encoding.</param>
        /// <returns></returns>
        public object CreateInstance(IDataContractSerializer dataContractSerializer, Type type, string serializedObject,
                                     Encoding encoding)
        {
            Type relatedType = _objectBuilder.GetRelatedType(type);

            if (relatedType == null)
            {
                LoggerManager.Instance.Error(string.Format("Mierda el related Type es nulo {0}", type.FullName));
            }
            return(dataContractSerializer.Deserialize(serializedObject, encoding, relatedType));
        }
Пример #2
0
 /// <summary>
 ///     Messages the received.
 /// </summary>
 /// <param name="sender">The sender.</param>
 /// <param name="args">The args.</param>
 private void MessageReceived(object sender, OutputGatewayEventHandlerArgs <byte[], RouterHeader> args)
 {
     InvokeOnMessageReceived();
     try
     {
         if (!string.IsNullOrEmpty(args.Header.BodyType))
         {
             if (args.Header.Type != MessageBusType.Reply)
             {
                 _routerOutputHelper.Publish(args.Header.BodyType, args.Header.Priority, args.SerializedMessage);
             }
             else
             {
                 _routerOutputHelper.Reply(args.Header.Identification, args.Header.Priority,
                                           args.SerializedMessage);
             }
         }
         else
         {
             Logger.Error(string.Format("El mensaje no tiene bodytype: {0}", Encoding.UTF8.GetString(args.SerializedMessage)));
         }
     }
     catch (Exception ex)
     {
         Logger.Error(string.Format("Error publish bus: {0}", Encoding.UTF8.GetString(args.SerializedMessage)), ex);
         var messageByte = new byte[args.Header.MessageLength];
         args.Message.CopyTo(messageByte, 15);
         var message = _serializer.Deserialize <MessageBus>(messageByte);
         OnOnRouterError(message, ex);
     }
     InvokeOnMessageSent(args.Message != null
                             ? new MonitorEventArgs {
         MessageCreatedAt = args.Header.CreatedAt
     }
                             : new MonitorEventArgs());
 }