【发布时间】:2016-05-08 11:10:01
【问题描述】:
我正在运行带有 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 网站未在特定用户的上下文中运行,但我不知道如何确认或解决此问题。我的网站配置了自己的池。
顺便说一句:运行内存存储库来存储密钥的结果会导致它们在应用程序退出时回收,这非常烦人,甚至不适合在生产环境中使用。
【问题讨论】:
-
您的应用程序身份是否设置为加载其用户配置文件?
-
@TGlatzer 我认为这是问题所在(除了关于容器的问题)。当我可以访问服务器时,我会尝试丢失它。
标签: iis asp.net-core iis-8 data-protection