zoukankan      html  css  js  c++  java
  • 乱用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;
    自己都是没有初步理解这些技术,就把别人提供的代码粘上去,能出结果就行。也没有去规划分类,分层这些东西。

  • 相关阅读:
    非vue-cli的花括号闪现问题
    vue中实现图片全屏缩放预览,支持移动端
    vue 图片预览插件
    angular.uppercase()
    angular.toJson()
    angular.module()
    对AngularJs的简单了解
    jQuery的属性、遍历和HTML操作
    JQuery函数
    JQuery的选择器
  • 原文地址:https://www.cnblogs.com/yzx99/p/1370431.html
Copyright © 2011-2022 走看看