我可以在静态类和方法中调用HttpContext.Current
吗?
我想在每个用户的基础上存储一个值,但希望能够以静态方式访问它。
e.g。这有用吗?
public static class StaticClass
{
public static string SomeThing
{
get { return HttpContext.Current.Items["SomeItem"].ToString(); }
}
}
答案 0 :(得分:13)
是的,这是一种有用的方式,当然,调用它的线程当前必须处理一个使其有用的请求。
答案 1 :(得分:5)
你为什么不试试?
是的,它完全有可能(虽然不一定是一个好的设计),只需记住在项目中引用System.Web.dll
并检查HttpContext.Current
null
以防万一你最终会在非ASP.NET环境中运行。
答案 2 :(得分:5)
是的,这是一种静态方法,因此您可以随时随地调用它。正如安东尼所说,“当前”上下文取决于调用线程,因此您需要确保使用正确的线程。