如何在静态方法中编写cookie

时间:2013-03-27 15:13:19

标签: c# asp.net static-methods httpcontext

我需要在静态方法中编写一个cookie(我需要静态,因为我想从其他类调用此方法)。我找到了HttpContex.Current的解决方案,但它对我不起作用。我收到此错误

  

非静态字段,方法或属性'System.Web.Mvc.Controller.HttpContext.get'

需要对象引用

我还尝试添加using System.Web.HttpContext.Current;,我收到此错误

  

'System.Web.HttpContext.Current'是'属性',但用作'type'

我的方法:

public static void WriteCookie(Guid token)
{ 
    HttpCookie cookie = new HttpCookie("LoginControl");

    cookie.Value = token.ToString();
    cookie.Expires = DateTime.Now.AddHours(0.5);

    HttpContext.Current.Reponse.Cookies.Add(cookie);
}

有什么建议吗? 非常感谢Mathew。

1 个答案:

答案 0 :(得分:7)

可以使用方法参数传递HttpContext吗?

public static void WriteCookie(HttpContext context, Guid token)
{ 
    HttpCookie cookie = new HttpCookie("LoginControl");

    cookie.Value = token.ToString();
    cookie.Expires = DateTime.Now.AddHours(0.5);

    context.Response.Cookies.Add(cookie);
}