Доступ к HttpContext.Current в статических классах

Можно ли вызвать HttpContext.Current из статического класса и метода?

Я хочу сохранить значение для каждого пользователя, но хочу иметь доступ к нему статическим образом.

например. Будет ли это работать?

public static class StaticClass
{

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

}

Ответ 1

Да, это один из способов, в котором это полезно, конечно, поток, на который он вызван, должен в настоящее время обрабатывать запрос, чтобы сделать его полезным.

Ответ 2

Почему бы вам не попробовать?

Да, это совершенно возможно (хотя это не обязательно хороший дизайн), просто запомните ссылку System.Web.dll в своем проекте и проверьте HttpContext.Current на null, если вы закончите работу в не-ASP.NET.

Ответ 3

Да, это статический метод, поэтому вы можете называть его из любого места, где захотите. Как говорит Энтони, "текущий" контекст зависит от вызывающего потока, поэтому вам нужно убедиться, что вы используете правильный поток.