我正在尝试在一个静态类上构建一个静态属性,该属性基本上会返回一个 cookie 值,以便在我的 MVC 站点(MVC 3,如果重要的话)中使用。像这样的东西:
public static class SharedData
{
public static string SomeValue
{
get
{
if (HttpContext.Current.Request.Cookies["SomeValue"] == null)
{
CreateNewSomeValue();
}
return HttpContext.Current.Request.Cookies["SomeValue"].Value.ToString();
}
}
}
我需要从控制器操作、global.asax 方法和操作过滤器中访问它。但问题是,当动作过滤器运行时,HttpContext 不可用。现在,我必须有一个单独的静态方法才能从我传入的过滤器上下文中提取 cookie,这看起来很尴尬。
构建这样一个静态方法来检索这样的 cookie 值的最佳解决方案是什么,该方法适用于控制器操作和操作过滤器?或者有没有更好的方法来做这样的事情?
提前致谢。