乱用HttpWebRequest与Server.Execute

我有一个网页要在代码中向直接向另一个网页申请数据,为此,我找到了一段代码来实现,这是用HttpWebRequest来实现的,至于其中的原理或过程,我就根本没有去理解:
        string sURL = System.Web.HttpContext.Current.Request.Url.ToString();
        sURL = sURL.Substring(0, sURL.LastIndexOf("/") + 1);
        HttpWebRequest hwr = (HttpWebRequest)WebRequest.Create(
          sURL + "CX.ashx?QTTJ=" + Request.QueryString["QTTJ"]);
        hwr.Method = "GET";
        hwr.SendChunked = false;
        WebResponse wr = hwr.GetResponse();

        System.IO.Stream ns = wr.GetResponseStream();
        long l = wr.ContentLength;
        byte[] b = new byte[l];
        for (int i = 0; i < l; i++)
        {
          b[i] = (byte)ns.ReadByte();
        }
        ns.Close();
        wr.Close();

        divCont.InnerHtml = System.Text.Encoding.UTF8.GetString(b);
后来要调用的网页又要用到Session了,找了许多资料,才知道HttpWebRequest其实是用在向其它网站申请数据用的,而不是一个项目内几个网页互相申请数据的。
现在又找到Server.Execute这种方法来代替,运行后才发觉速度快多了。
        System.IO.StringWriter sw = new StringWriter();
        Server.Execute("CX.ashx?QTTJ=" + Request.QueryString["QTTJ"], sw); (注:后面我才知道这段代码会出错,调用ashx时出现“为 CX.ashx 执行子请求时出错”,而调用aspx就没问题)
        string sHTML = sw.ToString();
        divCont.InnerHtml = sHTML;
自己都是没有初步理解这些技术,就把别人提供的代码粘上去,能出结果就行。也没有去规划分类,分层这些东西。

原文地址:https://www.cnblogs.com/yzx99/p/1370431.html