Я пытаюсь создать поставщика сеанса / временных данных, который можно поменять местами.Поставщик по умолчанию будет работать поверх asp.net mvc, и ему необходимо было получить доступ к .net mvc TempData из класса бизнес-объектов.Я знаю, что tempdata доступна через контекст контроллера, но я не могу найти, выставлен ли он через HttpContext или что-то еще.Я действительно не хочу передавать контекст Контроллера в качестве аргумента, так как это ослабило бы мое определение интерфейса, поскольку это требуется только поставщику сеансов на основе asp.net, другие (использующие NoSQL DB и т. Д.) Не заботятся о контексте Контроллера.
Чтобы уточнить дальше, добавив немного больше кода здесь.мой интерфейс ISession выглядит следующим образом.и когда этот код поступит в производство, ожидается, что сессия / временные данные будут работать с использованием NoSql db.Но мне также нравится иметь другую реализацию, которая работает поверх сеанса / темпданных mvc asp.net для моего тестирования dev и т. Д.
открытый интерфейс ISession
{
T GetTempData<T>(string key);
void PutTempData<T>(string key, T value);
T GetSessiondata<T>(string key);
void PutSessiondata<T>(string key, T value);
}