【问题标题】:How to read a cookie in C#?如何在 C# 中读取 cookie?
【发布时间】:2020-04-28 21:57:27
【问题描述】:

我不确定如何在 C# 中读取 Web cookie。我尝试了此代码,但出现多个错误。

        private string GetCookieValue(string cookieName, string itemName)
        {
            var CookieName = "MY_COOKIE";
            var CookieValue = string.empty;
                                //     ^ error

            HttpCookie myCookie = Request.Cookies[CookieName];
            // ^ error              // ^ error           
            if (myCookie == null) 

            {
                return "No Cookie Found.";
            }


            CookieValue = myCookie.Value.ToString();

            return CookieValue;
        }

任何帮助将不胜感激,谢谢。

(对此感到抱歉)错误:

第 4 行,“字符串”不包含“空”的定义 第 5 行,找不到类型或命名空间名称“HttpCookie”。 第 5 行,名称 Request 在当前上下文中不存在。

【问题讨论】:

  • 请具体说明您遇到的错误。通常最好将任何错误消息剪切并粘贴到问题中。
  • 另外,请显示更多您的代码。仅凭这一点代码,很难判断错误是什么。
  • 你的Request对象是什么类型的? string.empty 也应该是 string.Empty""
  • 你确定里面有一个名为“MY_COOKIE”的cookie吗?设置断点并检查。
  • 实际上,是的,您遇到了什么错误?您需要更具体并提供详细信息。

标签: c# .net cookies httpcookie


【解决方案1】:

你需要使用 string.Empty 而不是空的。 cookie的读取见下例:

public static string GetFromCookie(string cookieName, string keyName)
{
    HttpCookie cookie = HttpContext.Current.Request.Cookies[cookieName];
    if (cookie != null)
    {
        //Logic placeholder
    }
    return null;
}

【讨论】:

  • 解决了一个错误。我还有2个。 (第 5 行的那些)但是谢谢!
  • 如果应用程序需要与 ASP.NET Session 或 cookie 交互,那么我们可以使用 System.Web.HttpContext....确保您引用了正确的 Request 对象。
  • 当我尝试做 System.Web 时,它只给了我 3 个选项,请看图片:imgur.com/a/iujABZs
  • 你能检查你的依赖关系吗? System.Web 应该在那里。只需添加名为“System.Web”的 dll 库。 pasteboard.co/J67Pbdh.png
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-11-25
  • 2022-01-10
  • 1970-01-01
  • 1970-01-01
  • 2019-01-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多