Beispiel #1
0
        private void AddResultItemOrAddToItemResultListLog(IDebugItemResult itemToAdd, bool isDeserialize)
        {
            if (!string.IsNullOrWhiteSpace(itemToAdd.GroupName) && itemToAdd.GroupIndex > MaxItemDispatchCount && !isDeserialize)
            {
                _fileName = string.Format("{0}.txt", _itemId);
                var shouldCreateMoreLink = itemToAdd.GroupIndex == MaxItemDispatchCount + 1 && !_isMoreLinkCreated;
                if (shouldCreateMoreLink)
                {
                    ClearFile(_fileName);
                    _stringBuilder.AppendLine(itemToAdd.GetMoreLinkItem());
                    var clonedItem = itemToAdd.Clone();
                    var moreLink   = SaveFile(_stringBuilder.ToString(), _fileName);
                    _stringBuilder.Clear();
                    clonedItem.MoreLink = moreLink;
                    ResultsList.Add(clonedItem);
                    _isMoreLinkCreated = true;
                    return;
                }

                _stringBuilder.AppendLine(itemToAdd.GetMoreLinkItem());

                FlushResultListLogIfNeeded(itemToAdd);
                return;
            }

            TruncateItemResultIfNeeded(itemToAdd);

            ResultsList.Add(itemToAdd);
        }
Beispiel #2
0
        public void Add(IDebugItemResult itemToAdd, bool isDeserialize = false)
        {
            if (!string.IsNullOrWhiteSpace(itemToAdd.GroupName) && itemToAdd.GroupIndex > MaxItemDispatchCount)
            {
                if (!isDeserialize)
                {
                    _fileName = string.Format("{0}.txt", _itemId);
                    if (itemToAdd.GroupIndex == (MaxItemDispatchCount + 1) && !_isMoreLinkCreated)
                    {
                        ClearFile(_fileName);
                        _stringBuilder.AppendLine(itemToAdd.GetMoreLinkItem());
                        ResultsList.Add(new DebugItemResult {
                            MoreLink = SaveFile(_stringBuilder.ToString(), _fileName), GroupName = itemToAdd.GroupName, GroupIndex = itemToAdd.GroupIndex
                        });
                        _stringBuilder.Clear();
                        _isMoreLinkCreated = true;
                        return;
                    }

                    _stringBuilder.AppendLine(itemToAdd.GetMoreLinkItem());
                    if (itemToAdd.Type == DebugItemResultType.Value ||
                        itemToAdd.Type == DebugItemResultType.Variable)
                    {
                        SaveFile(_stringBuilder.ToString(), _fileName);
                        _stringBuilder.Clear();
                    }


                    if (_stringBuilder.Length > 10000)
                    {
                        SaveFile(_stringBuilder.ToString(), _fileName);
                        _stringBuilder.Clear();
                    }

                    return;
                }
            }

            if (itemToAdd.Type == DebugItemResultType.Value ||
                itemToAdd.Type == DebugItemResultType.Variable)
            {
                TryCache(itemToAdd);
            }

            ResultsList.Add(itemToAdd);
        }
Beispiel #3
0
        public void Add(IDebugItemResult itemToAdd, bool isDeserialize = false)
        {
            if(!string.IsNullOrWhiteSpace(itemToAdd.GroupName) && itemToAdd.GroupIndex > MaxItemDispatchCount)
            {

                if(!isDeserialize)
                {
                    _fileName = string.Format("{0}.txt", _itemId);
                    if(itemToAdd.GroupIndex == MaxItemDispatchCount + 1 && !_isMoreLinkCreated)
                    {
                        ClearFile(_fileName);
                        _stringBuilder.AppendLine(itemToAdd.GetMoreLinkItem());
                        ResultsList.Add(new DebugItemResult { MoreLink = SaveFile(_stringBuilder.ToString(), _fileName), GroupName = itemToAdd.GroupName, GroupIndex = itemToAdd.GroupIndex });
                        _stringBuilder.Clear();
                        _isMoreLinkCreated = true;
                        return;
                    }

                    _stringBuilder.AppendLine(itemToAdd.GetMoreLinkItem());
                    if(itemToAdd.Type == DebugItemResultType.Value ||
                        itemToAdd.Type == DebugItemResultType.Variable)
                    {
                        SaveFile(_stringBuilder.ToString(), _fileName);
                        _stringBuilder.Clear();
                    }


                    if(_stringBuilder.Length > 10000)
                    {
                        SaveFile(_stringBuilder.ToString(), _fileName);
                        _stringBuilder.Clear();
                    }

                    return;
                }

            }

            if(itemToAdd.Type == DebugItemResultType.Value ||
                itemToAdd.Type == DebugItemResultType.Variable)
            {
                TryCache(itemToAdd);
            }

            ResultsList.Add(itemToAdd);
        }