首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

DotNet Compact Framework 中运用HttpWebRequest和HttpWebResponse时使用Cookie

2012-12-23 
DotNet Compact Framework 中使用HttpWebRequest和HttpWebResponse时使用Cookie在Windows CE上使用HttpWeb

DotNet Compact Framework 中使用HttpWebRequest和HttpWebResponse时使用Cookie

在Windows CE上使用HttpWebRequest和HttpWebResponse时黙认是没有Cookie的,每次请求都会在服务器上创建一个新的会话,对于需要使用Session的应用来说,这是不可接受的,在网上找了很久,找到这一篇文章,提供了一个CookieManager类来管理Cookie,感觉很好用。

如果你和我一样,要求不高,只是保证每次都能使用同一个会话的话,可以使用下面的代码:

private static string cookies = string.Empty;

private static void SaveCookie(HttpWebResponse response)
{
StringBuilder sb = new StringBuilder();
for(var i = 0; i < response.Headers.Count; i++)
{
if ("set-cookie".Equals(response.Headers.Keys[i].ToLower()))
{
sb.Append(response.Headers[i] + ";");
}
}
string s = sb.ToString();

if (s.IndexOf("JSESSIONID") >= 0)
{
if (string.IsNullOrEmpty(cookies))
{
cookies = s;
}
else
{
//Session Timeout, relogin
cookies = s;
Relogin();
}
}
}

private static void SetCookie(HttpWebRequest request)
{
request.Headers.Add("Cookie:" + cookies);
}

热点排行