【问题标题】:ASP.NET HttpCookie helper classASP.NET HttpCookie 帮助程序类
【发布时间】:2009-08-03 23:04:02
【问题描述】:

我编写了这个实用程序类来保存和检索 HttpCookies。

它似乎不起作用,即没有检索到 Cookie...

public class AspNetUtil
    {
        private Page _page = null;

        public AspNetUtil(Page page)
        {
            _page = page;
        }

        public bool SaveInCookie(string cookieName, string valueKey, string valueToBeStored, int expiryTimeInMinutes)
        {
            bool success = false;

            try
            {
                HttpCookie cookie = null;

                if(_page.Request.Cookies[cookieName] == null)
                {
                    cookie = new HttpCookie(cookieName);
                }
                else
                {
                    cookie = _page.Request.Cookies[cookieName];
                }

                cookie.Values.Add(valueKey, valueToBeStored);

                cookie.Expires = DateTime.Now.AddMinutes(expiryTimeInMinutes);

                _page.Response.Cookies.Add(cookie);
            }
            catch(Exception ex)
            {
                success = false;

                throw ex;
            }

            return success;
        }

        public string GetCookieValue(string cookieName, string valueKey)
        {
            string cookieValue = string.Empty;

            try
            {
                cookieValue = (string)_page.Response.Cookies[cookieName].Values[valueKey];
            }
            catch (Exception ex)
            {
                cookieValue = string.Empty;
                throw ex;
            }

            return cookieValue;
        }
    }

谁能告诉我可能是什么问题?

【问题讨论】:

  • 什么不起作用?请更明确。
  • Cookie 未检索到。

标签: asp.net cookies


【解决方案1】:

我认为您的“响应”应该是 GetCookieValue 函数中的“请求”

【讨论】:

  • 更改对请求的响应是给出空引用异常。
  • 确保Request cookie集合首先包含那个key...如果它没有key,那么key访问的cookie将为null,所以获取它的值会产生一个空指针异常
  • 另外,将其置于调试模式并在 cookie 上设置监视以深入了解您分配的值的存储方式可能会有所帮助。
  • 进行这些更改后运气好吗?如果数据没有出现在您的调试控制台中,请尝试使用 HTTPWatch 之类的工具来查看在您发出请求时来回流动的实际 cookie 数据,以确保 cookie 在您的测试环境中实际被允许。
猜你喜欢
  • 2014-06-04
  • 1970-01-01
  • 1970-01-01
  • 2010-11-02
  • 2010-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多