主页 > IT业界  > 

c#HttpCookie操作,建立cookie工具类


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

标签:

c#HttpCookie操作,建立cookie工具类由讯客互联IT业界栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“c#HttpCookie操作,建立cookie工具类