Ejemplo n.º 1
0
        public MessageContext Read(object message, Type contenttype, bool useclaimcheck, IdentityConfiguration identityconfiguration = null)
        {
            var context = Read(message);

            context.ContentType = contenttype;

            if (identityconfiguration?.OperationIdBuilder != null)
            {
                context.Identity.OperationId = identityconfiguration?.OperationIdBuilder(context);
            }
            if (identityconfiguration?.ParentIdBuilder != null)
            {
                context.Identity.ParentId = identityconfiguration?.ParentIdBuilder(context);
            }
            if (identityconfiguration?.IdBuilder != null)
            {
                context.Identity.Id = identityconfiguration?.IdBuilder(context);
            }

            if (useclaimcheck && !string.IsNullOrWhiteSpace(context.ContentId))
            {
                var storage = Factory.Create <IMessageStorage>(Configuration.MessageStorageType);

                context.Content = storage.Read(context.ContentId);
            }
            else
            {
                context.Content = GetContent(message);
            }

            return(context);
        }