Я пытаюсь создать поставщика сеанса/временных данных, который можно поменять местами. Поставщик по умолчанию будет работать поверх asp.net mvc, и ему необходимо получить доступ к TempData .net mvc из класса бизнес-объектов. Я знаю, что временные данные доступны через контекст контроллера, но я не могу найти, отображается ли это через HttpContext или что-то в этом роде. Я действительно не хочу передавать контекст контроллера в качестве аргумента, так как это разбавит определение моего интерфейса, поскольку это требуется только поставщику сеансов на основе asp.net, другим (использующим NoSQL DB и т. д.) не важен контекст контроллера.
Чтобы уточнить, добавьте еще немного кода здесь. мой интерфейс ISession выглядит так. и когда этот код пойдет в производство, ожидается, что данные сеанса/tempdata будут работать с использованием NoSql db. Но мне также нравится иметь другую реализацию, которая работает поверх asp.net mvc session/tempdata для моего тестирования разработчиков и т. д.
общедоступный интерфейс 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);
}