Я запускаю производственный сервер (Windows Server 2012) с веб-сайтом AspNet Mvc Core RC1.
В журналах я вижу следующее:
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 не работает в определенном пользовательском контексте, но я понятия не имею, как подтвердить или исправить это. Мой сайт настроен с собственным пулом.
В стороне: результат запуска хранилища в хранилище для хранения ключей заставляет их перерабатывать всякий раз, когда приложение выходит, что очень раздражает и даже не предназначено для использования в производственных средах.