Я использую производственный сервер (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)
Вероятно, по какой-то причине сервер возвращает null. У меня нет специальной пользовательской конфигурации, и я прочитал документы поэтому я думал, что по умолчанию будет работать.
Я думаю, проблема в том, что веб-сайт IIS не работает в контексте определенного пользователя, но я понятия не имею, как это подтвердить или исправить. Мой сайт настроен на собственный пул.
Кроме того: результат работы репозитория в памяти для хранения ключей приводит к тому, что они перезапускаются всякий раз, когда приложение выходит, что очень раздражает и даже не предназначено для использования в производственных средах.