我正在尝试使用来自services.AddDataProtection()的PersistKeysToDbContext扩展来持久保存SQL的键。目前,我们正在使用PersistKeysToStackExchangeRedis,它确实运行良好,但是已经确定需要将其移至DB。
我们正在使用一个.net Core 2.2项目,其中添加了以下参考:
Microsoft.AspNetCore.DataProtection.EntityFrameworkCore(2.2.0) Microsoft.AspNetCore.DataProtection.Extensions(2.2.0) Microsoft.AspNetCore.DataProtection.StackExchangeRedis(2.2.0)(显然对于当前功能而言)
Microsoft.EntityFrameworkCore(2.2.0)
services.AddDataProtection().PersistKeysToDbContext<ApplicationDbContext>();
我从编译器中收到以下错误:
“ IDataProtectionBuilder”不包含“ PersistKeysToDbContext”的定义,也找不到可访问的扩展方法“ PersistKeysToDbContext”,该类型接受第一个类型为“ IDataProtectionBuilder”的自变量(您是否缺少using指令或程序集引用?)>
答案 0 :(得分:1)
1)确保已安装Microsoft.AspNetCore.DataProtection.Extensions + Microsoft.AspNetCore.DataProtection.EntityFrameworkCore(作为参考)。
2)将using Microsoft.AspNetCore.DataProtection;
添加到Startup.cs(或任何有问题的地方)。
我已经测试过并且可以使用,因此,如果仍然无法使用,则可能需要确保您没有错过任何内容。