我有一个网页要在代码中向直接向另一个网页申请数据,为此,我找到了一段代码来实现,这是用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;
自己都是没有初步理解这些技术,就把别人提供的代码粘上去,能出结果就行。也没有去规划分类,分层这些东西。