当前位置: 移动技术网 > IT编程>开发语言>.net > 在程序中使用Cookie集合(定义/新建/删除)及案例讲解

在程序中使用Cookie集合(定义/新建/删除)及案例讲解

2017年12月12日  | 移动技术网IT编程  | 我要评论

cvx2毒气弹,汶河论坛,刁矮子

在程序开发中,使用cookie时,很少使用如的写法。习惯写成cookie集合,什么叫做cookie集合,即是说一个cookie,它拥有多个值。下面一系列演示,是怎样创建cookie集合与使用。
复制代码 代码如下:

insusbiz
using system;
using system.web;
/// <summary>
/// summary description for insusbiz
/// </summary>
public class insusbiz
{
private static httpresponse response
{
get
{
return httpcontext.current.response;
}
}
private static httprequest request
{
get
{
return httpcontext.current.request;
}
}
//定义一个cookie集合
private static httpcookie insuscookie
{
get
{
return request.cookies["insuscookie"] as httpcookie;
}
set
{
if (request.cookies["insuscookie"] != null)
{
request.cookies.remove("insuscookie");
}
response.cookies.add(value);
}
}
//new cookie集合
private static httpcookie newinsuscookie
{
get
{
httpcookie httpcookie = new httpcookie("insuscookie");
return httpcookie;
}
}
//remove cookie集合
public static void removeinsuscookie()
{
if (insuscookie == null)
response.cookies.remove("insuscookie");
else
response.cookies["insuscookie"].expires = datetime.now.adddays(-1);
}
//创建一个cookie,判断用户登录状态
public static bool loginok
{
get
{
return insuscookie == null ? false : bool.parse(insuscookie.values["loginok"]);
}
set
{
httpcookie httpcookie = insuscookie == null ? newinsuscookie : insuscookie;
httpcookie.values["loginok"] = value.tostring();
insuscookie = httpcookie;
}
}
//创建登录用户的帐号,整站使用
public static string memberid
{
get
{
return insuscookie == null ? string.empty : insuscookie.values["memberid"];
}
set
{
httpcookie httpcookie = insuscookie == null ? newinsuscookie : insuscookie;
httpcookie.values["memberid"] = value;
insuscookie = httpcookie;
}
}
//如果还有整站使用的cookie可以写在此,可以参考loginok或memberid的写法。
}

在应用时,你会看到insusbiz类别下有loginok,memberid和removeinsuscookie等属性:
 
在程序中怎样使用这些cookie呢?如在登录验证成功之后,你需要把登录状态与登录的id写入cookie中
insusbiz.loginok = true;
insusbiz.memberid = xxx;
在判断用户是否登录时,可以这个去判断:
复制代码 代码如下:

protected void page_load(object sender, eventargs e)
{
if (!insusbiz.loginok)
{
//你没有登录
}
}

如果想在任何位置,想取出登录id:
复制代码 代码如下:

string memberid = insusbiz.memberid;

最后想说的,你想移除cooke,就可以使用insusbiz.removeinsuscookie就可以了,因为它会把cookie的过期时间变更为过去。这个通常应用在用户sign out的事件上。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网