在静态类中访问HttpContext.Current

时间:2009-02-17 10:59:51

标签: c# asp.net static

我可以在静态类和方法中调用HttpContext.Current吗?

我想在每个用户的基础上存储一个值,但希望能够以静态方式访问它。

e.g。这有用吗?

public static class StaticClass
{

    public static string SomeThing
    {
        get { return HttpContext.Current.Items["SomeItem"].ToString(); }
    }

}

3 个答案:

答案 0 :(得分:13)

是的,这是一种有用的方式,当然,调用它的线程当前必须处理一个使其有用的请求。

答案 1 :(得分:5)

你为什么不试试?

是的,它完全有可能(虽然不一定是一个好的设计),只需记住在项目中引用System.Web.dll并检查HttpContext.Current null以防万一你最终会在非ASP.NET环境中运行。

答案 2 :(得分:5)

是的,这是一种静态方法,因此您可以随时随地调用它。正如安东尼所说,“当前”上下文取决于调用线程,因此您需要确保使用正确的线程。

相关问题