HttpWebRequest的服务器端Session

HttpWebRequest的服务器端Session

昨天写程序用HttpWebRequest发送Web请求,可总是抛出WebException,说是500错误,可是那地址直接在浏览器里确可以访问,于是查看异常里的ResponseStream,原因是服务器程序抛出了NullReferenceException..可是哪里会null呢?后来觉得可能是HttpWebRequest默认并不支持服务器端Session.原来还以为HttpWebRequest是和浏览器一样,关闭程序之后Session失效...
要让HttpWebRequest支持Session其实很简单:
在程序里加入一个System.Net.CookieContainer成员,并构造它:
public Form1()
{
InitializeComponent();
/*.....*/
cookie = new CookieContainer();
}
在要使用Session的HttpWebRequest上加上它:
例如:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("someURL");
request.CookieContainer = cookie;
如果要共享Session变量,也只需要制定它的CookieContainer = cookie就行了...

你可能感兴趣的:(Web,.net,浏览器)