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

一般使用.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是相同的

转自[http://blog.csdn.net/snaill/archive/2005/07/11/419513.aspx]
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值