C# 在Prism中使用IHttpClientFactory
我想在使用Prism库构建的WPF应用程序中使用C# 在Prism中使用IHttpClientFactory,c#,wpf,prism,ihttpclientfactory,C#,Wpf,Prism,Ihttpclientfactory,我想在使用Prism库构建的WPF应用程序中使用IHttpClientFactory。我添加了两个包,Prism.Unity和Prism.Unity.Extensions,并尝试使用以下代码注册IHttpClientFactory: containerRegistry.RegisterServices(s => s.AddHttpClient("DefaultClient") .AddPo
IHttpClientFactory
。我添加了两个包,Prism.Unity和Prism.Unity.Extensions,并尝试使用以下代码注册IHttpClientFactory
:
containerRegistry.RegisterServices(s => s.AddHttpClient("DefaultClient")
.AddPolicyHandler(GetRetryPolicy()));
但是,我得到以下错误:
我还添加了以下覆盖:
protected override IContainerExtension CreateContainerExtension() => PrismContainerExtension.Current;
Prism 8介绍了作用域服务的注册方法。
IContainerProvider
接口声明了早期版本中不存在的附加方法和成员
public interface IContainerProvider {
// ...other members.
IScopedProvider CreateScope();
ScopedProvider CurrentScope { get; }
}
版本7.2.0.1054和更早版本中Prism.Unity.Extensions中的PrismContainerExtension
类不实现此方法。因此,使用Prism 8时会出现异常
由于类型不兼容,您要么必须恢复到Prism 7.2.0.1054,要么必须等待支持Prism 8中新作用域服务的Prism.Unity.Extensions的新版本。存储库中已进行了更改,但当前有预览版本。您的引用是否正确?这看起来像是一个或两个错误的dll。对于扩展包,我无法在NuGet上获得版本8。我的棱镜是第8版。你能完成这项任务吗?