/// <summary>
        /// Writes to the context of the message
        /// </summary>
        /// <typeparam name="TContextProperty">Type of the target property</typeparam>
        /// <param name="message">BizTalk pipeline message</param>
        /// <param name="value">Requested value of the property</param>
        public static void WriteContextProperty <TContextProperty>(this XLANGMessage message, object value) where TContextProperty : MessageContextPropertyBase, new()
        {
            Guard.NotNull(message, "message");

            object actualValue = ContextPropertySerializer.SerializeToContextPropertyValue <TContextProperty>(value);

            message.SetPropertyValue(typeof(TContextProperty), actualValue);
        }
Exemple #2
0
        /// <summary>
        /// Writes to the context of the message
        /// </summary>
        /// <typeparam name="TContextProperty">Type of the target property</typeparam>
        /// <param name="message">BizTalk pipeline message</param>
        /// <param name="value">Requested value of the property</param>
        public static void WriteContextProperty <TContextProperty>(this IBaseMessage message, object value) where TContextProperty : MessageContextPropertyBase, new()
        {
            Guard.NotNull(message, "message");
            Guard.Against(message.Context == null, "message");

            var    contextProperty = new TContextProperty();
            object actualValue     = value;

            if (typeof(TContextProperty).IsEnum || value is Enum)
            {
                actualValue = ContextPropertySerializer.SerializeToContextPropertyValue <TContextProperty>(value);
            }

            WriteContextProperty(message, contextProperty.Name.Name, contextProperty.Name.Namespace, actualValue);
        }