Виндзор Perwebrequest Разрешение в Application_Start
-
26-09-2019 - |
Вопрос
Я впрыскиваю httpContextBase в класс кэширования. Httpcontextbase зарегистрирован как perwebrequest. Я взаимодействую с классом кэширования на каждом веб-запросе, и это работает нормально, но мне также нужно инициатировать кэш при запуске приложения.
Я понимаю, что PerWebRequest не работает в Application_Start хотя:
Замок PerrequestLilefestyle не распознает
Какой лучший способ разрешить это в моей ситуации?
Решение
Не используйте вещи, которые зависят от вещей на веб-запрос вне веб-запроса.
Если вам необходимо зависеть от класса, который вы зарегистрировали в качестве PWR, я предлагаю получить еще один компонент для этой услуги с другим образтом образа жизни и использовать его в Application_Start и использование IHandlerSelector
вернуть PWR один, когда вы в течение веб-запроса, а другой другой
Другие советы
Попробуйте использовать An Гибридный WebRequest / Преходящий образ жизни.
Чтобы разминка кэши, когда контейнер начинает, я обычно использую отправительный объект. Вот пример того, как его использовать:http://blog.bittercoder.com/permalink ,guid ,a621ddda-acb5-4afd-84ff-faafb96a2fa1.aspx.