Как получить доступ к httpcontext.courent.Session в классе библиотеки?

StackOverflow https://stackoverflow.com//questions/21067140

Вопрос

Итак, я создаю классную библиотеку, которая обрабатывает информацию о пользователе, такую информацию, как имя пользователя, пароль и т. Д. Я хочу сделать это, чтобы я мог просто ссылаться на эту библиотеку с любым из моих веб-приложений, и не приходится постоянно переписать информацию о пользователечасть.

In, библиотека класса информации о пользователе, я хочу обрабатывать вход в систему.Я сделал это раньше в App_Code, который был частью веб-проекта, используя HttpContext.Current.Session.Но, когда я пытаюсь использовать его в мою библиотеке классов (даже в то время как using System.Web) он бросает ошибку компиляции, говоря, что в этом контексте httpContext не существует.Как я могу получить доступ к нему?

Это было полезно?

Решение

При создании класса утилиты типа, который работает с зависимостью, такими как httpContext, ваша лучшая ставка - пройти контекст или сеанс в класс либо через конструктор, либо на вызов метода.Таким образом, для потребителей вашего класса ясно, что это требует этого объекта для функции.Это также позволяет вам тестировать свой класс в изоляции.

Еще лучше, если вы работаете с несколькими конкретными свойствами, имеющими основные типы, то вы можете принять эти свойства в качестве входов.Таким образом, вы не создаете никаких зависимостей в рамках UI для вашей утилиты.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top