微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法使用 polly 解析 IReadOnlyPolicyRegistry

如何解决无法使用 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 举报,一经查实,本站将立刻删除。