当前位置: 代码网 > it编程>编程语言>Asp.net > c# HttpCookie操作,建立cookie工具类

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

2024年08月03日 Asp.net 我要评论
Cookie是一种在客户端和服务器之间传递数据的机制,用于跟踪用户的会话状态和存储用户相关的信息。它通常由服务器发送给客户端,并由客户端保存在浏览器中。通过使用HttpCookie类,开发人员可以轻松地创建和管理HTTP Cookie。它在Web应用程序中广泛应用,用于存储和传递与用户会话相关的数据。Framework中用于管理和操作HTTP Cookie的类。它提供了一种方便的方式来创建、设置、读取和删除Cookie。以下是通过HttpCookie建立工具类的代码,可根据具体需求调整。

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建立工具类的代码,可根据具体需求调整

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

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com