-1

我想IHttpClientFactory在使用 Prism 库构建的 WPF 应用程序中使用。我添加了两个包,Prism.Unity 和 Prism.Unity.Extensions,我尝试IHttpClientFactory使用以下代码注册:

containerRegistry.RegisterServices(s => s.AddHttpClient("DefaultClient")
                                         .AddPolicyHandler(GetRetryPolicy()));

但是,我收到以下错误:

在 Prism.Unity.ContainerExtension 中为 CreateScope 键入加载异常。

我还添加了以下覆盖:

protected override IContainerExtension CreateContainerExtension() => PrismContainerExtension.Current;
4

1 回答 1

0

Prism 8 引入了作用域服务的注册方法。该接口声明了早期版本中不存在IContainerProvider的附加方法CreateScope和成员。CurrentScope

public interface IContainerProvider {
   // ...other members.

   IScopedProvider CreateScope();

   ScopedProvider CurrentScope { get; }
}

PrismContainerExtension来自Prism.Unity.Extensions版本7.2.0.1054及更早版本的类实现此方法。因此,将它与 Prism 8 一起使用时会出现异常。

由于类型不兼容,您要么必须恢复到Prism 7.2.0.1054 ,要么必须等待支持 Prism 8 中新范围服务的新版本Prism.Unity.Extensions。存储库中已经进行了更改,但预览版目前只提供给赞助商

于 2020-11-23T10:29:45.350 回答