2003-07-22 Gonzalo Paniagua Javier <gonzalo@ximian.com>
authorGonzalo Paniagua Javier <gonzalo.mono@gmail.com>
Tue, 22 Jul 2003 14:34:43 +0000 (14:34 -0000)
committerGonzalo Paniagua Javier <gonzalo.mono@gmail.com>
Tue, 22 Jul 2003 14:34:43 +0000 (14:34 -0000)
* HttpWriter.cs: avoid duplicating the MemoryStream byte buffer.

svn path=/trunk/mcs/; revision=16528

mcs/class/System.Web/System.Web/ChangeLog
mcs/class/System.Web/System.Web/HttpWriter.cs

index 7544a579a1f76d5d6c4a596edd8aeec8a257af63..b8e3104fcc001358cba8776e17dd8f69b90e04ab 100644 (file)
@@ -1,3 +1,7 @@
+2003-07-22  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpWriter.cs: avoid duplicating the MemoryStream byte buffer.
+
 2003-07-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
 
        * HttpContext.cs: Session doesn't have a setter.
index 7a411b4f5efc5265cc0a33ddf955cefa26f4313c..09ff747c1a227a4e0e0b619487aecef559230484 100644 (file)
@@ -72,7 +72,8 @@ namespace System.Web
                        FlushBuffers ();
 
                        // Save our current data
-                       byte [] arrData = _OutputStream.ToArray ();
+                       byte [] arrData = _OutputStream.GetBuffer ();
+                       int size = (int) _OutputStream.Length;
 
                        // Remove our internal data
                        Clear ();
@@ -82,7 +83,7 @@ namespace System.Web
 
                        try {
                                // Call the filter (it does a callback into our HttpWriter again)
-                               _OutputFilter.Write (arrData, 0, arrData.Length);
+                               _OutputFilter.Write (arrData, 0, size);
 
                                if (CloseStream)
                                        _OutputFilter.Close ();
@@ -107,7 +108,7 @@ namespace System.Web
 
                        int l = (int)_OutputStream.Length;
                        if (l > 0) {
-                               byte [] arrContent = _OutputStream.ToArray ();
+                               byte [] arrContent = _OutputStream.GetBuffer ();
                                Handler.SendResponseFromMemory (arrContent, l);
                        }
                }