用.NET发起web请求时维持Session的方法

王朝c#·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

一般使用.NET C#发起一个web请求是用WebClient类,应为使用很简单,但是每调用一次

OpenRead就会在服务器启用一个新Session

使用HttpWebRequest + CookieContainer就可以让多个web请求只有一个session

为HttpWebRequest 指定一个CookieContainer,使用同一个CookieContainer的Request就是一个session

代码如下:

CookieContainer cc = new CookieContainer();

for(int i=0;i<100;i++)

{

HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create("http://localhost/AspxApp/MainForm.aspx");

myReq.CookieContainer = cc;

HttpWebResponse resp = myReq.GetResponse() as HttpWebResponse;

Stream s = resp.GetResponseStream();

StreamReader sr = new StreamReader(s); String text = sr.ReadToEnd();

sr.Close();

s.Close();

}

AspxApp这个程序返回的内容就是SessionId,这100个请求SessionId是相同的

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航