如何解决无法使用 polly 解析 IReadOnlyPolicyRegistry
我有一个 web api,其中包含对 polly 的所有正确引用
public MyService(IReadOnlyPolicyRegistry<string> policyRegistry)
无法解析“Polly.Registry.IReadOnlyPolicyRegistry`1[System.String]”类型的服务
我该如何解决这个问题?该信息根本没有帮助
我正在使用下面的 Polly 软件包
<packagereference Include="Polly" Version="7.2.1" />
<packagereference Include="Polly.Caching.distributed" Version="3.0.1" />
<packagereference Include="Polly.Caching.Memory" Version="3.0.2" />
<packagereference Include="Polly.Contrib.DuplicateRequestCollapser" Version="0.2.1" />
保罗
解决方法
Polly 不会固有地使 IReadOnlyPolicyRegistry<string>
可用于您的依赖项注入容器,因此除非您手动添加它并使其实现由 PolicyRegistry
具体类型提供,否则它将不可用。
但是,如果您将 ASP.NET Core 中的 Microsoft.Extensions.Http.Polly 包与 IHttpClientFactory
一起使用,那么它会由 AddPolicyRegistry()
extension method 自动添加。
您需要添加额外的包然后调用该方法,或者手动向您的服务集合注册依赖项,例如执行以下操作:
services.AddSingleton<IReadOnlyPolicyRegistry<string>,PolicyRegistry>();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。