public void Attached(UInt32 requestId)
        {
            RequestId                = requestId;
            ThreadId                 = (UInt32)Thread.CurrentThread.ManagedThreadId + ReflectInsightService.SessionId;
            SendPack                 = new SendPack();
            IndentValue              = new IndentValue();
            CheckpointSet            = new CheckpointSetContainer();
            NamedCheckpoints         = new Dictionary <String, CheckpointSetContainer>();
            RequestMessageProperties = new MessagePropertyContainer();
            States = new Dictionary <String, Object>();

            Reset();
        }
        /// <summary>
        /// Creates a new object that is a copy of the current instance.
        /// </summary>
        /// <returns>
        /// A new object that is a copy of this instance.
        /// </returns>
        public Object Clone()
        {
            lock (this)
            {
                MessagePropertyContainer clone = new MessagePropertyContainer();

                clone.Captions.AddRange(Captions);
                foreach (String caption in Captions)
                {
                    clone.Properties.Add(caption, new NameValueCollection(Properties[caption]));
                }

                return(clone);
            }
        }
 public void ResetSingleRequestProperties()
 {
     SingleMessageProperties = new MessagePropertyContainer();
 }
        /// <summary>
        /// Appends the extended properties.
        /// </summary>
        /// <param name="propertyList">The property list.</param>
        /// <param name="container">The container.</param>
        static private void AppendExtendedProperties(List <ReflectInsightExtendedProperties> propertyList, MessagePropertyContainer container)
        {
            if (container.Captions.Count > 0)
            {
                foreach (String caption in container.Captions)
                {
                    NameValueCollection properties = container.Properties[caption];
                    if (properties.Count > 0)
                    {
                        ReflectInsightExtendedProperties exProps = new ReflectInsightExtendedProperties();
                        propertyList.Add(exProps);

                        exProps.Caption    = caption;
                        exProps.Properties = new NameValueCollection(properties);
                    }
                }
            }
        }
 /// <summary>
 /// Initializes the <see cref="RIExtendedMessageProperty"/> class.
 /// </summary>
 static RIExtendedMessageProperty()
 {
     AllRequests = new MessagePropertyContainer();
 }