`
javatoyou
  • 浏览: 1020955 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

用.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是相同的
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics