У меня есть веб-приложение, которое интенсивно использует состояние сеанса для хранения информации о текущем пользователе, его личных настройках, записи истории его сеансов и так далее.
Я обнаружил, что извлекаю информацию о сеансе на бизнес-уровне, например:
((UserSession)HttpContext.Current.Session["UserSession"]).User.Info
Это создает проблему - в какой-то момент в будущем мое приложение будет иметь клиент Windows, который явно не может ссылаться на состояние веб-сеанса. Поэтому мне нужен хост или настроенный класс сеанса, на который я могу ссылаться на бизнес-уровне, независимо от того, запущено ли приложение в Интернете или на рабочем столе. Что-то вроде:
IHost.User.Info
За кулисами веб-реализация, очевидно, будет использовать состояние сеанса для хранения информации, но мне нужно скрыть это от своего бизнес-уровня. Кто-нибудь решил эту проблему или получил практический совет о том, как лучше к этому подойти?
Помощь приветствуется.