AspNet Core在内存中使用,用于在IIS中运行时进行数据保护

前端之家收集整理的这篇文章主要介绍了AspNet Core在内存中使用,用于在IIS中运行时进行数据保护前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用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网站没有运行在某个用户的上下文,但我不知道如何确认或解决这个问题.我的网站配置了自己的池.

另外,运行存储密钥存储库的结果使得它们在应用程序退出时都可以进行回收,这是非常烦人的,甚至不用于在生产环境中使用.

解决方法

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

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

猜你在找的.NET Core相关文章