当前位置:   article > 正文

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

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

HttpCookie 是一个在.NET Framework中用于管理和操作HTTP Cookie的类。它提供了一种方便的方式来创建、设置、读取和删除Cookie。

Cookie是一种在客户端和服务器之间传递数据的机制,用于跟踪用户的会话状态和存储用户相关的信息。它通常由服务器发送给客户端,并由客户端保存在浏览器中。

HttpCookie 类提供了以下属性和方法:

  1. Name: 获取或设置Cookie的名称。
  2. Value: 获取或设置Cookie的值。
  3. Expires: 获取或设置Cookie的过期时间。
  4. Domain: 获取或设置Cookie的域名。
  5. Path: 获取或设置Cookie的路径。
  6. Secure: 获取或设置一个布尔值,指示是否使用安全连接(HTTPS)发送Cookie。
  7. HttpOnly: 获取或设置一个布尔值,指示Cookie是否仅在HTTP请求中可见,而不允许客户端脚本访问它。
  8. SameSite: 获取或设置Cookie的SameSite属性,用于控制Cookie在跨站点请求中的发送行为。
  9. ToString(): 将HttpCookie对象转换为字符串表示形式。

通过使用HttpCookie类,开发人员可以轻松地创建和管理HTTP Cookie。它在Web应用程序中广泛应用,用于存储和传递与用户会话相关的数据。

以下是通过HttpCookie建立工具类的代码,可根据具体需求调整

  1. using System;
  2. using System.Web;
  3. namespace Wing.Framework.Utility
  4. {
  5. /// <summary>
  6. /// Cookie帮助类
  7. /// </summary>
  8. public class Cookie
  9. {
  10. /// <summary>
  11. /// 取Cookie
  12. /// </summary>
  13. /// <param name="name"></param>
  14. /// <returns></returns>
  15. public static HttpCookie Get(string name)
  16. {
  17. return HttpContext.Current.Request.Cookies[name];
  18. }
  19. /// <summary>
  20. /// 取Cookie值
  21. /// </summary>
  22. /// <param name="name"></param>
  23. /// <returns></returns>
  24. public static string GetValue(string name)
  25. {
  26. var httpCookie = Get(name);
  27. if (httpCookie != null)
  28. return httpCookie.Value;
  29. else
  30. return string.Empty;
  31. }
  32. /// <summary>
  33. /// 移除Cookie
  34. /// </summary>
  35. /// <param name="name"></param>
  36. public static void Remove(string name)
  37. {
  38. Cookie.Remove(Cookie.Get(name));
  39. }
  40. public static void Remove(HttpCookie cookie)
  41. {
  42. if (cookie != null)
  43. {
  44. cookie.Expires = DateTime.Now;
  45. Cookie.Save(cookie);
  46. }
  47. }
  48. /// <summary>
  49. /// 保存Cookie
  50. /// </summary>
  51. /// <param name="name"></param>
  52. /// <param name="value"></param>
  53. /// <param name="expiresHours"></param>
  54. public static void Save(string name, string value, int expiresHours = 0)
  55. {
  56. var httpCookie = Get(name);
  57. if (httpCookie == null)
  58. httpCookie = Set(name);
  59. httpCookie.Value = value;
  60. Cookie.Save(httpCookie, expiresHours);
  61. }
  62. public static void Save(HttpCookie cookie, int expiresHours = 0)
  63. {
  64. string domain = Fetch.ServerDomain;
  65. string urlHost = HttpContext.Current.Request.Url.Host.ToLower();
  66. if (domain != urlHost)
  67. cookie.Domain = domain;
  68. if (expiresHours > 0)
  69. cookie.Expires = DateTime.Now.AddHours(expiresHours);
  70. HttpContext.Current.Response.Cookies.Add(cookie);
  71. }
  72. public static HttpCookie Set(string name)
  73. {
  74. return new HttpCookie(name);
  75. }
  76. }
  77. }

12

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/144142
推荐阅读
相关标签
  

闽ICP备14008679号