示例#1
0
        public static bool IsMessagingActivity(this ModelItem item)
        {
            if (null == item)
            {
                throw FxTrace.Exception.ArgumentNull("item");
            }

            bool result =
                item.IsAssignableFrom <Receive>() ||
                item.IsAssignableFrom <Send>() ||
                item.IsAssignableFrom <ReceiveReply>() ||
                item.IsAssignableFrom <SendReply>();

            return(result);
        }
        static bool CanUseQueryCorrelationInitializer(ModelItem activity)
        {
            bool result = true;

            if (null != activity)
            {
                if (activity.IsAssignableFrom <Receive>() || activity.IsAssignableFrom <Send>())
                {
                    ModelItem serializationOption;
                    activity.TryGetPropertyValue(out serializationOption, "SerializerOption");
                    result = SerializerOption.XmlSerializer != (SerializerOption)serializationOption.GetCurrentValue();
                }
                else if (activity.IsAssignableFrom <SendReply>() || activity.IsAssignableFrom <ReceiveReply>())
                {
                    ModelItem request;
                    activity.TryGetPropertyValue(out request, "Request");
                    result = CanUseQueryCorrelationInitializer(request);
                }
            }
            return(result);
        }