asp.net core 部署 提示DataProtectionServices 错误
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp.net core 部署 提示DataProtectionServices 错误相关的知识,希望对你有一定的参考价值。
今天在部署asp.net core网站时,因为调用到阿里云的api,api的参数需要加密签名,系统报出了如下错误:
warn: Microsoft.Extensions.DependencyInjection.DataProtectionServices[59]
Neither user profile nor HKLM registry available. Using an ephemeral key repository. Protected data will be unavailable when application exits.
warn: Microsoft.AspNetCore.DataProtection.Repositories.EphemeralXmlRepository[50]
Using an in-memory repository. Keys will not be persisted to storage.
fail: Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware[0]
上网搜了下应该是某些安全机制引起的吧。
具体请自行查看一下文章:Asp.net core Data Protection : https://docs.asp.net/en/latest/hosting/dataprotection.html
github: https://github.com/aspnet/DataProtection/issues/102
反正我是大致看了下这两篇文章后找到解决方案的,但是详细原因嘛,英文还不过关。
使用 PowerShell执行第一篇文章提供的脚本。注意,Powershell 有可能会提示“此系统中禁止执行脚本”,那么按照提示先执行“set-executionpolicy remotesigned”命令。
执行脚本会提示输入Application Pool名字,输入你网站对应的应用程序池就可以了。如果有多个网站对应多个Application Pool ,那么要分别注册。
执行后可能会出现以下错误:
没关系,注册是已经成功的。反正我的网站在这之后就能正确访问了。
以上是关于asp.net core 部署 提示DataProtectionServices 错误的主要内容,如果未能解决你的问题,请参考以下文章
小5聊Asp.Net Core基础之发布不成功或者覆盖IIS上的DLL提示程序正在打开
解决 ASP.NET Core 部署到 IIS,更新项目时"文件夹正在使用"错误