HttpContext.Current доступен в статических классах - PullRequest
13 голосов
/ 17 февраля 2009

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

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

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

public static class StaticClass
{

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

}

Ответы [ 3 ]

13 голосов
/ 17 февраля 2009

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

5 голосов
/ 17 февраля 2009

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

5 голосов
/ 17 февраля 2009

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

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

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