您的位置:首页 > 其它

用.NET发起web请求时维持Session的方法(转贴)

2004-10-10 19:56 423 查看
一般使用.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是相同的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: