.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是相同的。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wjfwxf.html