iis - 在 IIS 中运行时,AspNet Core 使用内存存储库进行数据保护

标签 iis asp.net-core iis-8 data-protection

我正在运行带有 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 网站未在特定用户的上下文中运行,但我不知道如何确认或解决此问题。我的网站配置了自己的池。

顺便说一句:运行用于存储 key 的内存存储库的结果会导致它们在应用程序退出时回收,这非常烦人,甚至不适合在生产环境中使用。

最佳答案

应在 IIS 配置中加载用户配置文件。

打开 IIS,右键单击应用程序池,然后单击高级设置。并将“加载用户配置文件”设置为 true。重新启动您的应用程序,它应该可以完美运行。

关于iis - 在 IIS 中运行时,AspNet Core 使用内存存储库进行数据保护,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37099136/

相关文章:

c# - 我在 IIS 中的站点中遇到错误,未找到 Microsoft.EnterpriseManagement.OperationsManager.Apm.DataCollecting.Producers.Mvc.4.0

asp.net - 如何使用 View 中的下拉列表将数据从 ViewModel 插入到数据库

asp.net-mvc - ASP.Net : Do I need to add javascript source of _ValidationScriptsPartial. cshtml 到 _layout.cshtml?

c# - AjaxControlToolkit AjaxFileUpload 无法上传 IIS 保留文件类型

c# - IIS 编译错误 -2146232576 AspNetInitializationExceptionModule

.net - WCF 自定义绑定(bind) - 服务不支持的内容类型

windows - 无法在不提供凭据的情况下使用 (win_)uri 模块从 API 检索信息

c# - IIS使用OpenXML创建的word文件处置后继续被IIS锁定

asp.net-core - Entity Framework 7 数据库优先配置 (MVC 6)

iis - sc-status 0 是什么意思?