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

  • 相关阅读:
    fiddler配置及使用教程
    获取字符串中出现次数最少的字符
    引用数据类型的深拷贝
    jquery一些方法
    常用字体
    图片模拟
    返回上一页并刷新
    移动端网页调试神器
    input一些限制
    使用transform后z-index失效的解决方法
  • 原文地址:https://www.cnblogs.com/yzx99/p/1370431.html
Copyright © 2011-2022 走看看