httpcookie 是一个在.net framework中用于管理和操作http cookie的类。它提供了一种方便的方式来创建、设置、读取和删除cookie。
cookie是一种在客户端和服务器之间传递数据的机制,用于跟踪用户的会话状态和存储用户相关的信息。它通常由服务器发送给客户端,并由客户端保存在浏览器中。
httpcookie 类提供了以下属性和方法:
- name: 获取或设置cookie的名称。
- value: 获取或设置cookie的值。
- expires: 获取或设置cookie的过期时间。
- domain: 获取或设置cookie的域名。
- path: 获取或设置cookie的路径。
- secure: 获取或设置一个布尔值,指示是否使用安全连接(https)发送cookie。
- httponly: 获取或设置一个布尔值,指示cookie是否仅在http请求中可见,而不允许客户端脚本访问它。
- samesite: 获取或设置cookie的samesite属性,用于控制cookie在跨站点请求中的发送行为。
- tostring(): 将httpcookie对象转换为字符串表示形式。
通过使用httpcookie类,开发人员可以轻松地创建和管理http cookie。它在web应用程序中广泛应用,用于存储和传递与用户会话相关的数据。
以下是通过httpcookie建立工具类的代码,可根据具体需求调整
using system;
using system.web;
namespace wing.framework.utility
{
/// <summary>
/// cookie帮助类
/// </summary>
public class cookie
{
/// <summary>
/// 取cookie
/// </summary>
/// <param name="name"></param>
/// <returns></returns>
public static httpcookie get(string name)
{
return httpcontext.current.request.cookies[name];
}
/// <summary>
/// 取cookie值
/// </summary>
/// <param name="name"></param>
/// <returns></returns>
public static string getvalue(string name)
{
var httpcookie = get(name);
if (httpcookie != null)
return httpcookie.value;
else
return string.empty;
}
/// <summary>
/// 移除cookie
/// </summary>
/// <param name="name"></param>
public static void remove(string name)
{
cookie.remove(cookie.get(name));
}
public static void remove(httpcookie cookie)
{
if (cookie != null)
{
cookie.expires = datetime.now;
cookie.save(cookie);
}
}
/// <summary>
/// 保存cookie
/// </summary>
/// <param name="name"></param>
/// <param name="value"></param>
/// <param name="expireshours"></param>
public static void save(string name, string value, int expireshours = 0)
{
var httpcookie = get(name);
if (httpcookie == null)
httpcookie = set(name);
httpcookie.value = value;
cookie.save(httpcookie, expireshours);
}
public static void save(httpcookie cookie, int expireshours = 0)
{
string domain = fetch.serverdomain;
string urlhost = httpcontext.current.request.url.host.tolower();
if (domain != urlhost)
cookie.domain = domain;
if (expireshours > 0)
cookie.expires = datetime.now.addhours(expireshours);
httpcontext.current.response.cookies.add(cookie);
}
public static httpcookie set(string name)
{
return new httpcookie(name);
}
}
}
12
发表评论