.NET发起web请求时维持Session
更新时间:2009年05月26日 02:42:05 作者:
一般使用.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是相同的。
代码如下:
复制代码 代码如下:
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是相同的。
相关文章
ASP.NET MVC使用typeahead.js实现输入智能提示功能
这篇文章介绍了ASP.NET MVC使用typeahead.js实现输入智能提示功能的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2022-09-09
asp.net中的“按需打印”(打印你需要打印的部分) 实现代码
有时我们需要对asp.net网页中某些特定部分进行打印,很多人采用CSS样式或特定的打印控件来解决网页定制打印功能。这里采用Javascript样式替换方式进行打印,使网页显示与打印效果相分离。2013-06-06


最新评论