Я хотел бы услышать ваше мнение и, возможно, лучшие предложения для следующего сценария:
Я определил пользовательский ActionFilter, который выполняет какую-то работу и имеет какое-то значение. Я хотел бы использовать это значение в действиях контроллера и в моделях.
Теперь я могу использовать TempData для передачи этого значения из ActionFilter в любой метод действия контроллера, а затем распределить это значение по всем моделям, которые передаются в возвращаемые представления.
Я уверен, что это будет работать, но эти TempData будут там во время сеанса, где и когда они больше никому не нужны. Предполагается, что значение будет использоваться исключительно в коде во время одного запроса, после которого оно фактически аннулируется.
Я предложил два варианта:
В ActionFilter я устанавливаю это значение в TempData в OnActioExecuting () и удаляю его в OnActionExecuted (). Правильно ли я понимаю, что к моменту вызова OnActionExecuted действие контроллера завершено, ответ уже сгенерирован, и это содержимое TempData еще не дошло до сеанса YET?
В любом из моих пользовательских статических классов (логика) я просто определяю открытое свойство для этого значения и использую его при необходимости. Не будет ли потеряно это статическое поле между OnActionExecuting () и фактическим выполнением метода контроллера? Существуют ли другие проблемы с возможной потерей этого значения во время обработки запроса на сервере?
Есть ли другие / лучшие варианты, которые я еще не рассмотрел?