2002-10-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
authorGonzalo Paniagua Javier <gonzalo.mono@gmail.com>
Sun, 27 Oct 2002 19:55:28 +0000 (19:55 -0000)
committerGonzalo Paniagua Javier <gonzalo.mono@gmail.com>
Sun, 27 Oct 2002 19:55:28 +0000 (19:55 -0000)
* list: added WebEncoding.cs

* System.Web/HttpApplication.cs: reenabled a few lines of code
(ThreadPool already fixed).

* System.Web/HttpRequest.cs:
* System.Web/HttpResponse.cs:
* System.Web/HttpUtility.cs:
* System.Web/HttpValueCollection.cs:
* System.Web/HttpWriter.cs:
* System.Web.UI/LosFormatter.cs:
Use WebEncoding.Encoding.

* System.Web.Compilation/PageCompiler.cs: tracing.
* System.Web.Compilation/TemplateFactory.cs: cache compiled types and
tracing.
* System.Web.Compilation/WebServiceCompiler.cs: new parameter in
GetTypeFromsource,
* System.Web.Configuration/HttpHandlersSectionHandler.cs: more null
checks.

* System.Web.UI/Control.cs:
* System.Web.UI/Page.cs:
* System.Web.Util/WebTrace.cs: fixed namespace.

* System.Web.Util/WebEncoding.cs: new class that holds the default
encoding for System.Web.

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

22 files changed:
mcs/class/System.Web/ChangeLog
mcs/class/System.Web/System.Web.Compilation/ChangeLog
mcs/class/System.Web/System.Web.Compilation/PageCompiler.cs
mcs/class/System.Web/System.Web.Compilation/TemplateFactory.cs
mcs/class/System.Web/System.Web.Compilation/WebServiceCompiler.cs
mcs/class/System.Web/System.Web.Configuration/ChangeLog
mcs/class/System.Web/System.Web.Configuration/HttpHandlersSectionHandler.cs
mcs/class/System.Web/System.Web.UI/ChangeLog
mcs/class/System.Web/System.Web.UI/Control.cs
mcs/class/System.Web/System.Web.UI/LosFormatter.cs
mcs/class/System.Web/System.Web.UI/Page.cs
mcs/class/System.Web/System.Web.Util/ChangeLog
mcs/class/System.Web/System.Web.Util/WebEncoding.cs [new file with mode: 0644]
mcs/class/System.Web/System.Web.Util/WebTrace.cs
mcs/class/System.Web/System.Web/ChangeLog
mcs/class/System.Web/System.Web/HttpApplication.cs
mcs/class/System.Web/System.Web/HttpRequest.cs
mcs/class/System.Web/System.Web/HttpResponse.cs
mcs/class/System.Web/System.Web/HttpUtility.cs
mcs/class/System.Web/System.Web/HttpValueCollection.cs
mcs/class/System.Web/System.Web/HttpWriter.cs
mcs/class/System.Web/list

index 400cd9998453669df6e3033408a4e34b1a0b215c..5aa417df539c6a7e2069e2bfa31f6021fda843e6 100644 (file)
@@ -1,3 +1,7 @@
+2002-10-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * list: added WebEncoding.cs
+
 2002-10-26  Gonzalo Paniagua Javier <gonzalo@ximian.com>
 
        * makefile.trace: used to build System.Web.dll with trace enabled.
index c314137d300320e87a0ee3d263cd6fff5598bf52..1fd0eac1a1f1df1ff78977be1e407eefb1d57438 100644 (file)
@@ -1,3 +1,9 @@
+2002-10-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * PageCompiler.cs: tracing.
+       * TemplateFactory.cs: cache compiled types and tracing.
+       * WebServiceCompiler.cs: new parameter in GetTypeFromsource,
+
 2002-10-23  Gonzalo Paniagua Javier <gonzalo@ximian.com>
 
        * AspComponentFoundry.cs: fixed typo.
index 94e6cfac83bebc370bb0fdbdfcf4d273704b15b8..376357fc0abf1ce01f421775e686f03a21f162ee 100644 (file)
@@ -9,6 +9,7 @@
 using System;
 using System.IO;
 using System.Web.UI;
+using System.Web.Util;
 
 namespace System.Web.Compilation
 {
@@ -24,8 +25,8 @@ namespace System.Web.Compilation
                public static Type CompilePageType (PageParser pageParser)
                {
                        string sourceFile = GenerateSourceFile (pageParser);
-                       Console.WriteLine ("Compiling {0}", sourceFile);
-                       return TemplateFactory.GetTypeFromSource (sourceFile);
+                       WebTrace.WriteLine ("Compiling {0} ({1})", sourceFile, pageParser.InputFile);
+                       return TemplateFactory.GetTypeFromSource (pageParser.InputFile, sourceFile);
                }
 
                private static string GenerateSourceFile (PageParser pageParser)
@@ -42,7 +43,7 @@ namespace System.Web.Compilation
 
                        //FIXME: should get Tmp dir for this application
                        string csName = Path.GetTempFileName () + ".cs";
-                       Console.WriteLine ("Writing {0}", csName);
+                       WebTrace.WriteLine ("Writing {0}", csName);
                        StreamWriter output = new StreamWriter (File.OpenWrite (csName));
                        output.Write (pageParser.Text);
                        output.Close ();
index 2c6d652bb1f41ee2e83507f91f4343fe9f9aaa39..d7e5cbaf261239f3e1d995bd0fe1ceabfc9965d7 100644 (file)
@@ -13,9 +13,46 @@ using System.IO;
 using System.Reflection;\r
 using System.Text;\r
 using System.Web.UI;\r
+using System.Web.Util;\r
 \r
+//TODO: should use private bin to store dlls (when AppDomain and Assembly.Load know about it?)\r
 namespace System.Web.Compilation\r
 {\r
+       class CompiledTypeData\r
+       {\r
+               string csFile;\r
+               string aspxFile;\r
+               Type type;\r
+               DateTime since;\r
+               //TODO: ArrayList fileDependencies;\r
+\r
+               public CompiledTypeData (string aspxFile, string csFile, Type type, DateTime since)\r
+               {\r
+                       this.aspxFile = aspxFile;\r
+                       this.csFile = csFile;\r
+                       this.type = type;\r
+                       this.since = since;\r
+\r
+               }\r
+\r
+               public bool IsNewer (DateTime dt)\r
+               {\r
+                       return (dt > since);\r
+               }\r
+               \r
+               public Type Type\r
+               {\r
+                       get { return type; }\r
+                       set { type = value; }\r
+               }\r
+\r
+               public DateTime Since\r
+               {\r
+                       get { return since; }\r
+                       set { since = value; }\r
+               }\r
+       }\r
+       \r
        class TemplateFactory\r
        {\r
                internal class PageBuilder\r
@@ -152,6 +189,10 @@ namespace System.Web.Compilation
                        }\r
                }\r
 \r
+\r
+               static object compiling = new object ();\r
+               static Hashtable compiledTypes = new Hashtable ();\r
+               \r
                internal static string CompilationOutputFileName (string fileName)\r
                {\r
                        string name = "xsp_" + Path.GetFileName (fileName).Replace (".aspx", ".txt");\r
@@ -168,10 +209,63 @@ namespace System.Web.Compilation
                {\r
                }\r
 \r
-               internal static Type GetTypeFromSource (string fileName)\r
+               static Type AlreadyGotIt (string aspxFile, ref DateTime filedt)\r
                {\r
-                       PageBuilder builder = new PageBuilder (fileName);\r
-                       return builder.Build ();\r
+                       WebTrace.PushContext ("TemplateFactory.AlreadyGotIt");\r
+                       WebTrace.WriteLine ("Start: {0}", aspxFile);\r
+                       if (!compiledTypes.Contains (aspxFile)) {\r
+                               WebTrace.WriteLine ("File {0} not already compiled", filedt);\r
+                               WebTrace.PopContext ();\r
+                               return null;\r
+                       }\r
+\r
+                       CompiledTypeData data = (CompiledTypeData) compiledTypes [aspxFile];\r
+                       try {\r
+                               filedt = File.GetLastWriteTime (aspxFile);\r
+                       } catch {\r
+                               WebTrace.WriteLine ("Error getting date for {0}", aspxFile);\r
+                               WebTrace.PopContext ();\r
+                               return null;\r
+                       }\r
+                       \r
+                       if (data.IsNewer (filedt)) {\r
+                               compiledTypes.Remove (aspxFile);\r
+                               WebTrace.WriteLine ("aspx modified: {0}", filedt);\r
+                               WebTrace.PopContext ();\r
+                               return null;\r
+                       }\r
+\r
+                       WebTrace.WriteLine ("End: {0}", data.Type);\r
+                       WebTrace.PopContext ();\r
+                       return data.Type;\r
+               }\r
+\r
+               internal static Type GetTypeFromSource (string aspxFile, string csFile)\r
+               {\r
+                       if (!File.Exists (csFile))\r
+                               return null;\r
+\r
+                       DateTime filedt = DateTime.Now;\r
+                       Type type = AlreadyGotIt (aspxFile, ref filedt) as Type;\r
+                       if (type != null)\r
+                               return type;\r
+\r
+                       PageBuilder builder = new PageBuilder (csFile);\r
+                       lock (compiling) {\r
+                               type = AlreadyGotIt (aspxFile, ref filedt) as Type;\r
+                               if (type != null)\r
+                                       return type;\r
+                               \r
+                               type = builder.Build ();\r
+                       }\r
+\r
+                       if (type == null)\r
+                               return null;\r
+\r
+                       CompiledTypeData data = new CompiledTypeData (aspxFile, csFile, type, filedt);\r
+                       compiledTypes.Add (aspxFile, data);\r
+\r
+                       return type;\r
                }\r
        }\r
 }\r
index 77f6c801ea3c8fa0544965c512cfc7ab1298ff84..2cf293c56855dae4a55bc4e9b4618f8f1e636fcf 100644 (file)
@@ -21,7 +21,7 @@ namespace System.Web.Compilation
                public static Type CompileIntoType (SimpleWebHandlerParser wService)
                {
                        string sourceFile = GenerateSourceFile (wService);
-                       Type type = TemplateFactory.GetTypeFromSource (sourceFile);
+                       Type type = TemplateFactory.GetTypeFromSource (wService.PhysicalPath, sourceFile);
                        if (type.FullName != wService.ClassName)
                                throw new ApplicationException (String.Format (
                                                                "Class={0}, but the class compiled is {1}",
index df03b2c03fe87bc8ed0f1a4700e0d66046674d77..089b833d22a5b4add7889e3be233a723a56ea79a 100644 (file)
@@ -1,3 +1,7 @@
+2002-10-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpHandlersSectionHandler.cs: more null checks.
+
 2002-10-08  Gonzalo Paniagua Javier <gonzalo@ximian.com>
 
        * HttpHandlersSectionHandler.cs: made a couple of static methods be
index 496d3ea6f705a1476f74a329111920c4d7c27fe4..83c042f2f289af6258fe62cd0cb9aaf3f191cdca 100644 (file)
@@ -38,7 +38,7 @@ namespace System.Web.Configuration
                                
                                string name = child.Name;
                                if (name == "clear") {
-                                       if (child.Attributes.Count != 0)
+                                       if (child.Attributes != null && child.Attributes.Count != 0)
                                                HandlersUtil.ThrowException ("Unrecognized attribute", child);
 
                                        mapper.Clear ();
@@ -60,7 +60,7 @@ namespace System.Web.Configuration
 
                                if (name == "add") {
                                        string type = HandlersUtil.ExtractAttributeValue ("type", child);
-                                       if (child.Attributes.Count != 0)
+                                       if (child.Attributes != null && child.Attributes.Count != 0)
                                                HandlersUtil.ThrowException ("Unrecognized attribute", child);
 
                                        HandlerItem item = new HandlerItem (verb, path, type, validate);
@@ -69,7 +69,7 @@ namespace System.Web.Configuration
                                }
 
                                if (name == "remove") {
-                                       if (child.Attributes.Count != 0)
+                                       if (child.Attributes != null && child.Attributes.Count != 0)
                                                HandlersUtil.ThrowException ("Unrecognized attribute", child);
 
                                        if (validate && mapper.Remove (verb, path) == null)
index 626946c4aeddab2e35ee47b10ea14d6f1f5de92e..312a22e9460010a15296e424574237db7ae7262b 100644 (file)
@@ -1,3 +1,10 @@
+2002-10-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * LosFormatter.cs: Use WebEncoding.Encoding.
+
+       * Control.cs:
+       * Page.cs: fixed namespace.
+
 2002-10-24  Gonzalo Paniagua Javier <gonzalo@ximian.com>
 
        * Page.cs: set the context in ProcessRequest. Added a few trace calls.
index 346004d1741ce751dd1fc53ea2d15378f6b382d0..fa0785ecd4feaac5a79c24de680ad45c82bd9325 100644 (file)
@@ -83,7 +83,7 @@ using System;
 using System.Collections;\r
 using System.ComponentModel;\r
 using System.Web;\r
-using System.Web.Utils;\r
+using System.Web.Util;\r
 \r
 namespace System.Web.UI\r
 {\r
index 56035620faf86f644d08811b9cdd0944b150e386..7f95f2f5812b2dcfc3320b67f19145931108482a 100644 (file)
@@ -13,6 +13,7 @@ using System.Drawing;
 using System.IO;
 using System.Text;
 using System.Web.UI;
+using System.Web.Util;
 
 namespace System.Web.UI
 {
@@ -81,7 +82,7 @@ namespace System.Web.UI
                        if (input == null)
                                throw new ArgumentNullException ("input");
 
-                       string real_input = Encoding.UTF8.GetString (Convert.FromBase64String (input));
+                       string real_input = WebEncoding.Encoding.GetString (Convert.FromBase64String (input));
                        return DeserializeObject (real_input);
                }
 
@@ -268,7 +269,7 @@ namespace System.Web.UI
                        StringBuilder builder = new StringBuilder ();
                        StringWriter writer = new StringWriter (builder);
                        SerializeObject (writer, value);
-                       byte [] bytes = Encoding.UTF8.GetBytes (builder.ToString ());
+                       byte [] bytes = WebEncoding.Encoding.GetBytes (builder.ToString ());
                        output.Write (Convert.ToBase64String (bytes));
                }
 
index 7c8e29bc01a88cab7cd655cbd2ba9663c1d669d9..7bc04587e33c48da1c29f6b699725f076ba86138 100755 (executable)
@@ -18,7 +18,7 @@ using System.Text;
 using System.Web;
 using System.Web.Caching;
 using System.Web.SessionState;
-using System.Web.Utils;
+using System.Web.Util;
 
 namespace System.Web.UI
 {
index e027d138da4a6fbec780bc9b7b5dc16c028b1b19..95c4b5ccac655d52c7df542a28a568bd8d8b2e60 100644 (file)
@@ -1,3 +1,10 @@
+2002-10-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>\r
+\r
+       * WebTrace.cs: fixed namespace.\r
+\r
+       * WebEncoding.cs: new class that holds the default encoding for\r
+       System.Web.\r
+\r
 2002-01-03  Nick Drochak  <ndrochak@gol.com>\r
 \r
        * FileChangesMonitor.cs: remove redundant using statement; use int\r
@@ -54,4 +61,4 @@
 2001-11-08\r
                Gaurav Vaish <gvaish@iitk.ac.in>\r
        * Namespace    - Created the namespace for commonly used,\r
-                          otherwise not available functions
\ No newline at end of file
+                          otherwise not available functions\r
diff --git a/mcs/class/System.Web/System.Web.Util/WebEncoding.cs b/mcs/class/System.Web/System.Web.Util/WebEncoding.cs
new file mode 100644 (file)
index 0000000..5966bd0
--- /dev/null
@@ -0,0 +1,24 @@
+//
+// System.Web.Util.WebEncoding
+//
+// Authors:
+//     Gonzalo Paniagua Javier (gonzalo@ximian.com)
+//
+// (C) 2002 Ximian, Inc (http://www.ximian.com)
+//
+
+using System.Text;
+
+namespace System.Web.Util
+{
+       internal class WebEncoding
+       {
+               static Encoding encoding = new UTF8Encoding (false);
+
+               static public Encoding Encoding
+               {
+                       get { return encoding; }
+               }
+       }
+}
+
index ec92099de9707b7ac695161762ce1709feb4d49d..53b96402f4bed228e19d5454eb2632ed2681d8f3 100644 (file)
@@ -1,5 +1,5 @@
 //
-// System.Web.Utils.WebTrace
+// System.Web.Util.WebTrace
 //
 // Authors:
 //     Gonzalo Paniagua Javier (gonzalo@ximian.com)
@@ -10,7 +10,7 @@
 using System.Collections;
 using System.Diagnostics;
 
-namespace System.Web.Utils
+namespace System.Web.Util
 {
        internal class WebTrace
        {
index 312a69cebdb06ed41092d446d8edebb4ab53089d..f9b998ec0516fe1065ac5c042206e0de31e9c450 100644 (file)
@@ -1,3 +1,14 @@
+2002-10-27  Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+       * HttpApplication.cs: reenabled a few lines of code
+       (ThreadPool already fixed). 
+       
+       * HttpRequest.cs:
+       * HttpResponse.cs:
+       * HttpUtility.cs:
+       * HttpValueCollection.cs:
+       * HttpWriter.cs: Use WebEncoding.Encoding.
+
 2002-10-25  Gonzalo Paniagua Javier <gonzalo@ximian.com>
 
        * HttpWriter.cs: changed encoding of the writer from Unicode to UTF8.
index 9c36d7fd3415e9ffd34917338f32dabe92f7c787..fa5e7e009ea70e726665f3b56039d94a900a1f25 100644 (file)
@@ -558,12 +558,11 @@ namespace System.Web {
                        }\r
 \r
                        internal void ExecuteNextAsync(Exception lasterror) {\r
-                       //FIXME: something is wrong with this: the socket is closed before compilation finishes.\r
-                       //      if (!Thread.CurrentThread.IsThreadPoolThread) {\r
-                       //              ThreadPool.QueueUserWorkItem(_asynchandler, lasterror);\r
-                       //      } else {\r
+                               if (!Thread.CurrentThread.IsThreadPoolThread) {\r
+                                       ThreadPool.QueueUserWorkItem(_asynchandler, lasterror);\r
+                               } else {\r
                                        ExecuteNext(lasterror);\r
-                       //      }\r
+                               }\r
                        }\r
 \r
                        private void ExecuteNext(Exception lasterror) {\r
@@ -677,8 +676,11 @@ namespace System.Web {
                #endregion\r
 \r
                #region Constructor\r
-      public HttpApplication() {\r
-      }\r
+\r
+               public HttpApplication ()\r
+               {\r
+               }\r
+\r
                #endregion\r
 \r
                #region Methods\r
@@ -702,7 +704,8 @@ namespace System.Web {
                }\r
 \r
                [MonoTODO()]\r
-               internal void RecycleHandlers() {\r
+               internal void RecycleHandlers ()\r
+               {\r
                        // TODO: Recycle the created handlers (via factory?)\r
                }\r
 \r
index 1db462060cec8750bf0dc8094834820b49df0b75..37bd275165882c4c196ad0bdbc857903febef8fa 100644 (file)
@@ -14,6 +14,7 @@ using System.Collections.Specialized;
 using System.IO;\r
 using System.Text;\r
 using System.Web.Configuration;\r
+using System.Web.Util;\r
 \r
 namespace System.Web {\r
        [MonoTODO("Review security in all path access function")]\r
@@ -603,7 +604,8 @@ namespace System.Web {
                public NameValueCollection QueryString {\r
                        get {\r
                                if (_oQueryString == null) {\r
-                                       _oQueryString = new HttpValueCollection(QueryStringRaw, true, Encoding.UTF8);\r
+                                       _oQueryString = new HttpValueCollection(QueryStringRaw, true,\r
+                                                                               WebEncoding.Encoding);\r
                                }\r
 \r
                                return _oQueryString;\r
index 9b34316badd9303b262e6829a662ff2a3aa692d9..c66b099e80ee381c63305809412d428e800768e5 100644 (file)
@@ -13,6 +13,7 @@ using System.Globalization;
 using System.IO;
 using System.Text;
 using System.Threading;
+using System.Web.Util;
 
 namespace System.Web
 {
@@ -326,7 +327,7 @@ namespace System.Web
                {
                        get {
                                if (_ContentEncoding == null)
-                                       _ContentEncoding = Encoding.UTF8;
+                                       _ContentEncoding = WebEncoding.Encoding;
 
                                return _ContentEncoding;
                        }
index 0a1a17aeed03fa06fd0831ce770de938cb393393..fb448aeaf63d7df5786e88cf6e93af0253582e33 100644 (file)
@@ -12,6 +12,7 @@ using System.Collections;
 using System.Globalization;\r
 using System.IO;\r
 using System.Text;\r
+using System.Web.Util;\r
 \r
 namespace System.Web {\r
        public sealed class HttpUtility {\r
@@ -326,7 +327,7 @@ namespace System.Web {
        \r
                public static string UrlDecode (string str) \r
                {\r
-                       return UrlDecode(str, Encoding.UTF8);\r
+                       return UrlDecode(str, WebEncoding.Encoding);\r
                }\r
        \r
                private static char [] GetChars (ArrayList b, Encoding e)\r
@@ -483,7 +484,7 @@ namespace System.Web {
 \r
                public static byte [] UrlDecodeToBytes (string str)\r
                {\r
-                       return UrlDecodeToBytes (str, Encoding.UTF8);\r
+                       return UrlDecodeToBytes (str, WebEncoding.Encoding);\r
                }\r
 \r
                public static byte [] UrlDecodeToBytes (string str, Encoding e)\r
@@ -527,7 +528,7 @@ namespace System.Web {
 \r
                public static string UrlEncode(string str) \r
                {\r
-                       return UrlEncode(str, Encoding.UTF8);\r
+                       return UrlEncode(str, WebEncoding.Encoding);\r
                }\r
        \r
                public static string UrlEncode (string s, Encoding Enc) \r
@@ -557,7 +558,7 @@ namespace System.Web {
 \r
                public static byte [] UrlEncodeToBytes (string str)\r
                {\r
-                       return UrlEncodeToBytes (str, Encoding.UTF8);\r
+                       return UrlEncodeToBytes (str, WebEncoding.Encoding);\r
                }\r
 \r
                public static byte [] UrlEncodeToBytes (string str, Encoding e)\r
index 6947cb3457eb372f14dbc1ca3a471a2f4b3e2b5f..47997f3e9e2b0f08e077d5439a696f0e3d43b76d 100644 (file)
@@ -8,6 +8,7 @@ using System;
 using System.Collections.Specialized;\r
 using System.Runtime.Serialization;\r
 using System.Text;\r
+using System.Web.Util;\r
 \r
 namespace System.Web {\r
 \r
@@ -20,7 +21,7 @@ namespace System.Web {
       }\r
 \r
       internal HttpValueCollection(string sData) {\r
-         FillFromQueryString(sData, Encoding.UTF8);\r
+         FillFromQueryString(sData, WebEncoding.Encoding);\r
          IsReadOnly = true;\r
       }\r
 \r
@@ -74,7 +75,7 @@ namespace System.Web {
       }\r
 \r
       internal void FillFromHeaders(string sData) {\r
-         FillFromHeaders(sData, Encoding.UTF8);\r
+         FillFromHeaders(sData, WebEncoding.Encoding);\r
       }\r
 \r
       // String = test=aaa&kalle=nisse\r
@@ -100,11 +101,11 @@ namespace System.Web {
       }\r
 \r
       internal void FillFromQueryString(string sData) {\r
-         FillFromQueryString(sData, Encoding.UTF8);\r
+         FillFromQueryString(sData, WebEncoding.Encoding);\r
       }\r
 \r
       internal void FillFromCookieString(string sData) {\r
-         FillFromQueryString(sData, Encoding.UTF8);\r
+         FillFromQueryString(sData, WebEncoding.Encoding);\r
       }\r
 \r
       internal void MakeReadOnly() {\r
index 6fa061800f18fbb004c57b7ef04db740870ce895..25546cf56ea4b41025c874e8c7572d5d97566b83 100644 (file)
@@ -7,6 +7,7 @@
 using System;
 using System.IO;
 using System.Text;
+using System.Web.Util;
 
 namespace System.Web
 {
@@ -29,7 +30,7 @@ namespace System.Web
                        _Response = Response;
 
                        _OutputStream = new MemoryStream (32768);
-                       _OutputHelper = new StreamWriter (_OutputStream, Encoding.UTF8);
+                       _OutputHelper = new StreamWriter (_OutputStream, WebEncoding.Encoding);
                        _ResponseStream = new HttpResponseStream (this);
 
                        Update ();
index 474e43f2d50d646046a00b11eb71c613b5d3b2c4..ffe5b23abbe4f9123c94710bab2128b25ad050f8 100755 (executable)
@@ -319,6 +319,7 @@ System.Web.Util/FilePathParser.cs
 System.Web.Util/IISVersionInfo.cs
 System.Web.Util/NativeFileChangeEventHandler.cs
 System.Web.Util/UrlUtils.cs
+System.Web.Util/WebEncoding.cs
 System.Web.Util/WebEqualComparer.cs
 System.Web.Util/WebHashCodeProvider.cs
 System.Web.Util/WebTrace.cs