首页 > 解决方案 > 如何在控制台应用程序中使用 Microsoft.AspNetCore.DataProtection?

问题描述

在 ASP.NET Core 中数据保护的非 DI 感知方案页面上,我找到了旨在用作控制台应用程序的代码。

这对我来说是出乎意料的,因为控制台应用程序引用了 ASP.NET Core 库:

using Microsoft.AspNetCore.DataProtection;

当我尝试运行它时,我预计会收到一条关于缺少程序集的错误消息。

我向微软询问了这个https://github.com/dotnet/AspNetCore.Docs/issues/17098。但我刚刚得到了答案,我刚刚得到了对内容上部页面的引用:https ://docs.microsoft.com/en-us/aspnet/core/security/data-protection/introduction ?view=aspnetcore-3.1#package-layout

dataProtectionProvider.CreateProtector("Program.No-DI")当我在 ASP.NET 应用程序中运行代码时,返回以下语句Microsoft.AspNetCore.DataProtection.KeyManagement.KeyRingBasedDataProtector

哪个库包含KeyRingBasedDataProtector

我包含了包https://www.nuget.org/packages/Microsoft.AspNetCore.DataProtection.Abstractions/,但预计它不包含实现。

一般来说,ASP.NET 库是否适合在控制台应用程序中使用?

毕竟,如何从ASP.NET Core 中的数据保护的非 DI 感知场景页面运行代码?

谢谢

标签: asp.net-coreasp.net-core-identityasp.net-core-3.1

解决方案


我在控制台项目中包含了 3 个包:

  • Microsoft.AspNetCore.DataProtection
  • Microsoft.AspNetCore.DataProtection.Abstractions
  • Microsoft.AspNetCore.DataProtection.Extensions

这使得控制台项目工作。


推荐阅读