Exemple #1
0
    /// <summary>
    /// <see cref="SerializationDefinition.Configure"/>
    /// </summary>
    public override Func <IMessageMapper, IMessageSerializer> Configure(ReadOnlySettings settings) =>
    _ =>
    {
        var contentTypeKey = settings.GetContentTypeKey();

        var serializationDelegates = settings.SerializationDelegateBuilder();
        if (serializationDelegates == null)
        {
            serializationDelegates = messageType =>
            {
                var wrapper = SerializerCache.GetSerializer(messageType);
                return(new(
                           serialize : (buffer, message) =>
                {
                    var writer = new CompactBinaryWriter <OutputBuffer>(buffer);
                    wrapper.Serializer.Serialize(message, writer);
                },
                           deserialize : buffer =>
                {
                    var reader = new CompactBinaryReader <InputBuffer>(buffer);
                    return wrapper.Deserializer.Deserialize(reader);
                }));
            };
        }

        return(new MessageSerializer(contentTypeKey, serializationDelegates));
    };
 /// <summary>
 /// <see cref="SerializationDefinition.Configure"/>
 /// </summary>
 public override Func <IMessageMapper, IMessageSerializer> Configure(ReadOnlySettings settings)
 {
     return(mapper =>
     {
         var context = settings.GetContext();
         var contentTypeKey = settings.GetContentTypeKey();
         return new MessageSerializer(contentTypeKey, context);
     });
 }
 /// <summary>
 /// <see cref="SerializationDefinition.Configure"/>
 /// </summary>
 public override Func<IMessageMapper, IMessageSerializer> Configure(ReadOnlySettings settings)
 {
     return mapper =>
     {
         var options = settings.GetOptions();
         var contentTypeKey = settings.GetContentTypeKey();
         return new WireMessageSerializer(contentTypeKey, options);
     };
 }
 /// <summary>
 /// <see cref="SerializationDefinition.Configure"/>
 /// </summary>
 public override Func <IMessageMapper, IMessageSerializer> Configure(ReadOnlySettings settings)
 {
     Guard.AgainstNull(settings, nameof(settings));
     return(_ =>
     {
         var options = settings.GetOptions();
         var contentTypeKey = settings.GetContentTypeKey();
         return new WireMessageSerializer(contentTypeKey, options);
     });
 }
 /// <summary>
 /// Provides a factory method for building a message serializer.
 /// </summary>
 public override Func <IMessageMapper, IMessageSerializer> Configure(ReadOnlySettings settings)
 {
     return(mapper =>
     {
         var readerCreator = settings.GetReaderCreator();
         var writerCreator = settings.GetWriterCreator();
         var serializerSettings = settings.GetSettings();
         var contentTypeKey = settings.GetContentTypeKey();
         return new JsonMessageSerializer(mapper, readerCreator, writerCreator, serializerSettings, contentTypeKey);
     });
 }
 /// <summary>
 /// <see cref="SerializationDefinition.Configure"/>
 /// </summary>
 public override Func <IMessageMapper, IMessageSerializer> Configure(ReadOnlySettings settings)
 {
     Guard.AgainstNull(settings, nameof(settings));
     return(mapper =>
     {
         var options = settings.GetOptions();
         var readerOptions = settings.GetReaderOptions();
         var writerOptions = settings.GetWriterOptions();
         var contentTypeKey = settings.GetContentTypeKey();
         return new JsonMessageSerializer(options, writerOptions, readerOptions, contentTypeKey);
     });
 }
Exemple #7
0
 /// <summary>
 /// <see cref="SerializationDefinition.Configure"/>
 /// </summary>
 public override Func <IMessageMapper, IMessageSerializer> Configure(ReadOnlySettings settings) =>
 _ =>
 {
     var contentTypeKey = settings.GetContentTypeKey();
     return(new MessageSerializer(contentTypeKey));
 };