Пример #1
0
        IHtmlWriter IHtmlWriter.CreateInsertionPoint()
        {
            var result = new HtmlWriter(this);

            _bufferListTail = _bufferListTail.InsertAfter();

            return(result);
        }
Пример #2
0
        private HtmlWriter(HtmlWriter parent)
        {
            _stringBuilderFactory = parent._stringBuilderFactory;
            _isBufferOwner        = false;
            _startOfLine          = parent._startOfLine;
            Indented    = parent.Indented;
            IndentLevel = parent.IndentLevel;

            _bufferListHead = parent._bufferListTail;
            _bufferListTail = _bufferListHead;
        }
Пример #3
0
 public BufferListElement InsertAfter()
 {
     lock (this)
     {
         var result = new BufferListElement(_stringBuilderFactory)
         {
             Next = Next,
         };
         Next = result;
         return(result);
     }
 }
Пример #4
0
            public void Dispose()
            {
                _buffer.Dispose();

                var next = Next;

                Next = null;

                if (next != null)
                {
                    next.Dispose();
                }
            }
Пример #5
0
        /// <summary>
        /// Constructs a new HTML Writer
        /// </summary>
        public HtmlWriter(
            IStringBuilderFactory stringBuilderFactory)
        {
            _stringBuilderFactory = stringBuilderFactory;
            _isBufferOwner        = true;
            _startOfLine          = true;
            Indented        = true;
            IndentLevel     = 0;
            IncludeComments = true;

            _bufferListHead = new BufferListElement(stringBuilderFactory);
            _bufferListTail = _bufferListHead;
        }
Пример #6
0
        void IHtmlWriter.ToStringBuilder(IStringBuilder stringBuilder)
        {
            var buffer = _bufferListHead;

            while (buffer != null)
            {
                stringBuilder.Append(buffer.ToString());
                buffer = buffer.Next;
            }

            if (_isBufferOwner && _bufferListHead != null)
            {
                _bufferListHead.Dispose();
            }

            _bufferListHead = null;
            _bufferListTail = null;
        }
Пример #7
0
        void IHtmlWriter.ToResponse(IOwinContext context)
        {
            var buffer = _bufferListHead;

            while (buffer != null)
            {
                context.Response.Write(buffer.ToString());
                buffer = buffer.Next;
            }

            if (_isBufferOwner && _bufferListHead != null)
            {
                _bufferListHead.Dispose();
            }

            _bufferListHead = null;
            _bufferListTail = null;
        }