我正在使用AspNet Mvc Core RC1网站运行生产服务器(
Windows Server 2012).
我在日志中看到以下内容:
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.我没有任何特殊的自定义配置,我已经阅读了docs,所以我认为默认是有效的.
我认为问题是IIS网站没有运行在某个用户的上下文,但我不知道如何确认或解决这个问题.我的网站配置了自己的池.
另外,运行存储密钥存储库的结果使得它们在应用程序退出时都可以进行回收,这是非常烦人的,甚至不用于在生产环境中使用.