コード例 #1
0
        internal void Close(bool force)
        {
            if (_disposed)
            {
                return;
            }

            _disposed = true;
            if (!force && flush(true))
            {
                _response.Close();
            }
            else
            {
                if (_sendChunked)
                {
                    var last = getChunkSizeBytes(0, true);
                    _write(last, 0, last.Length);
                }

                _body.Dispose();
                _body = null;

                _response.Abort();
            }

            _response = null;
            _stream   = null;
        }
コード例 #2
0
        internal void Close(bool force)
        {
            if (_disposed)
            {
                return;
            }

            _disposed = true;

            if (!force)
            {
                if (flush(true))
                {
                    _response.Close();

                    _response    = null;
                    _innerStream = null;

                    return;
                }

                _response.CloseConnection = true;
            }

            if (_sendChunked)
            {
                _write(_lastChunk, 0, 5);
            }

            _bodyBuffer.Dispose();
            _response.Abort();

            _bodyBuffer  = null;
            _response    = null;
            _innerStream = null;
        }