HttpWebRequest的服務器端Session
昨天寫程序用HttpWebRequest發送Web請求,可總是拋出WebException,說是500錯誤,可是那地址直接在瀏覽器裏確可以訪問,於是查看異常裏的ResponseStream,原因是服務器程序拋出了NullReferenceException..可是哪裏會null呢?後來覺得可能是HttpWebRequest默認並不支持服務器端Session.原來還以爲HttpWebRequest是和瀏覽器一樣,關閉程序之後Session失效...
要讓HttpWebRequest支持Session其實很簡單:
在程序里加入一個System.Net.CookieContainer成員,並構造它:
public Form1()
{
InitializeComponent();
/*.....*/
cookie = new CookieContainer();
}
{
InitializeComponent();
/*.....*/
cookie = new CookieContainer();
}
在要使用Session的HttpWebRequest上加上它:
例如:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("someURL");
request.CookieContainer = cookie;
如果要共享Session變量,也只需要制定它的CookieContainer = cookie就行了...
request.CookieContainer = cookie;
如果要共享Session變量,也只需要制定它的CookieContainer = cookie就行了...