Я запускаю производственный сервер (Windows Server 2012) с веб-сайтом AspNet Mvc Core RC1.AspNet Core, использующий в памяти репо для защиты данных при работе в IIS
Я вижу следующие в журналах:
Neither user profile nor HKLM registry available. Using an ephemeral key repository. Protected data will be unavailable when application exits.
После проверки исходного кода DataProtection, я отслеживал проблему метода следующий вызов:
Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)
Это, вероятно, возвращение по какой-то причине на сервере. У меня нет специальной настраиваемой конфигурации, и я прочитал docs, поэтому я думал, что дефолт будет работать.
Я думаю, проблема связана с тем, что веб-сайт IIS не работает в определенном контексте пользователя, но я понятия не имею, как подтвердить или исправить это. Мой сайт настроен с собственным пулом.
В результате: результат работы в хранилище памяти для хранения ключей заставляет их перерабатывать всякий раз, когда приложение выходит, что очень раздражает и даже не предназначено для использования в производственных средах.
Действительно ли ваш идентификатор приложения загружен в профиль пользователя? – TGlatzer
@TGlatzer Я думаю, что это проблема (в дополнение к чему-то о контейнерах). Я попробую пропустить с ним, когда у меня будет доступ к серверу. – mrahhal