public static string GenerateHtml(string queryAddress, string webServiceAddress)
        {
            int    idx = queryAddress.IndexOf("?");
            string windowTabName;

            if (idx == -1)
            {
                windowTabName = queryAddress;
            }
            else
            {
                windowTabName = queryAddress.Substring(0, idx);
            }

            string xsl = GenerateXsl(windowTabName);

            if (string.IsNullOrEmpty(xsl))
            {
                return(null);
            }
            byte[]               byteArray  = Encoding.UTF8.GetBytes(xsl);
            MemoryStream         streamXslt = new MemoryStream(byteArray);
            XmlReader            xsltReader = XmlReader.Create(streamXslt);
            XslCompiledTransform xslt       = new XslCompiledTransform();

            xslt.Load(xsltReader);
            xsltReader.Close();
            streamXslt.Close();

            var           httpClient = new Feng.Windows.Net.MyAuthHttpClient();
            var           s          = httpClient.GetSync(webServiceAddress + queryAddress);
            XPathDocument xmlDoc     = new XPathDocument(new MemoryStream(Encoding.UTF8.GetBytes(s)));

            StringWriter sw = new StringWriter();

            xslt.Transform(xmlDoc, null, sw);

            sw.Close();
            return(sw.ToString());

            //ctx.Response.BufferOutput = true;
            //ctx.Response.Write(sw.ToString());

            //// There is known problem using Response.End(),
            //// described in Q312629 in the inital release of .Net
            //// ctx.Response.End() should be used if not for the bug
            //ctx.ApplicationInstance.CompleteRequest();
        }
        public static string GenerateHtml(string queryAddress, string webServiceAddress)
        {
            int idx = queryAddress.IndexOf("?");
            string windowTabName;
            if (idx == -1)
            {
                windowTabName = queryAddress;
            }
            else
            {
                windowTabName = queryAddress.Substring(0, idx);
            }

            string xsl = GenerateXsl(windowTabName);
            if (string.IsNullOrEmpty(xsl))
            {
                return null;
            }
            byte[] byteArray = Encoding.UTF8.GetBytes(xsl);
            MemoryStream streamXslt = new MemoryStream(byteArray);
            XmlReader xsltReader = XmlReader.Create(streamXslt);
            XslCompiledTransform xslt = new XslCompiledTransform();
            xslt.Load(xsltReader);
            xsltReader.Close();
            streamXslt.Close();

            var httpClient = new Feng.Windows.Net.MyAuthHttpClient();
            var s = httpClient.GetSync(webServiceAddress + queryAddress);
            XPathDocument xmlDoc = new XPathDocument(new MemoryStream(Encoding.UTF8.GetBytes(s)));

            StringWriter sw = new StringWriter();
            xslt.Transform(xmlDoc, null, sw);

            sw.Close();
            return sw.ToString();

            //ctx.Response.BufferOutput = true;
            //ctx.Response.Write(sw.ToString());

            //// There is known problem using Response.End(),
            //// described in Q312629 in the inital release of .Net
            //// ctx.Response.End() should be used if not for the bug
            //ctx.ApplicationInstance.CompleteRequest();
        }