Esempio n. 1
0
        public CommandHandlingSettings(
            [NotNull] ICommandHandlerResolver handlerResolver,
            [NotNull] ResolveCommandType resolveCommandType)
        {
            Ensure.That(handlerResolver, "handlerResolver").IsNotNull();
            Ensure.That(resolveCommandType, "ResolveCommandType").IsNotNull();

            _handlerResolver    = handlerResolver;
            _resolveCommandType = resolveCommandType;
            _deserializeCommand = CatchDeserializationExceptions(
                (commandReader, type) =>
            {
                var body = commandReader.ReadToEnd();     // Will cause LOH problems if command json > 85KB
                return(SimpleJson.DeserializeObject(body, type, CommandClient.JsonSerializerStrategy));
            });
        }
        public CommandHandlingSettings(
            [NotNull] ICommandHandlerResolver handlerResolver,
            [NotNull] ResolveCommandType resolveCommandType)
        {
            Ensure.That(handlerResolver, "handlerResolver").IsNotNull();
            Ensure.That(resolveCommandType, "ResolveCommandType").IsNotNull();

            _handlerResolver = handlerResolver;
            _resolveCommandType = resolveCommandType;
            _deserializeCommand = CatchDeserializationExceptions(
                (commandReader, type) =>
                {
                    var body = commandReader.ReadToEnd(); // Will cause LOH problems if command json > 85KB
                    return SimpleJson.DeserializeObject(body, type, CommandClient.JsonSerializerStrategy);
                });
        }
Esempio n. 3
0
 private static DeserializeCommand CatchDeserializationExceptions(DeserializeCommand deserializeCommand)
 {
     return((commandReader, type) =>
     {
         try
         {
             return deserializeCommand(commandReader, type);
         }
         catch (Exception ex)
         {
             if (ex is IHttpProblemDetailException)
             {
                 throw;
             }
             throw new HttpProblemDetailsException <HttpProblemDetails>(new HttpProblemDetails
             {
                 Title = "Error occured deserializing command.",
                 Status = 400,
                 Detail = ex.Message
             });
         }
     });
 }
 private static DeserializeCommand CatchDeserializationExceptions(DeserializeCommand deserializeCommand)
 {
     return (commandReader, type) =>
     {
         try
         {
             return deserializeCommand(commandReader, type);
         }
         catch(Exception ex)
         {
             if(ex is IHttpProblemDetailException)
             {
                 throw;
             }
             throw new HttpProblemDetailsException<HttpProblemDetails>(new HttpProblemDetails
             {
                 Title = "Error occured deserializing command.",
                 Status = 400,
                 Detail = ex.Message
             });
         }
     };
 }