在 Prism 中使用 IHttpClientFactory
Using IHttpClientFactory in Prism
我想在使用 Prism 库构建的 WPF 应用程序中使用 IHttpClientFactory
。我添加了两个包,Prism.Unity 和 Prism.Unity.Extensions,我尝试使用以下代码注册 IHttpClientFactory
:
containerRegistry.RegisterServices(s => s.AddHttpClient("DefaultClient")
.AddPolicyHandler(GetRetryPolicy()));
但是,我收到以下错误:
我还添加了以下覆盖:
protected override IContainerExtension CreateContainerExtension() => PrismContainerExtension.Current;
Prism 8 引入了 范围服务 的注册方法。 IContainerProvider
接口声明了一个额外的方法 CreateScope
and a member CurrentScope
,早期版本中没有。
public interface IContainerProvider {
// ...other members.
IScopedProvider CreateScope();
ScopedProvider CurrentScope { get; }
}
Prism.Unity.Extensions 中 7.2.0.1054 及更早版本中的 PrismContainerExtension
类 不实现这个方法。因此,在 Prism 8 中使用它会出现异常。
由于类型不兼容,您要么必须恢复到 Prism 7.2.0.1054,要么必须等待 [=35= 的新版本] 支持 Prism 8 中的新作用域服务。存储库中已经进行了更改,但预览版目前为 only available to sponsors。
我想在使用 Prism 库构建的 WPF 应用程序中使用 IHttpClientFactory
。我添加了两个包,Prism.Unity 和 Prism.Unity.Extensions,我尝试使用以下代码注册 IHttpClientFactory
:
containerRegistry.RegisterServices(s => s.AddHttpClient("DefaultClient")
.AddPolicyHandler(GetRetryPolicy()));
但是,我收到以下错误:
我还添加了以下覆盖:
protected override IContainerExtension CreateContainerExtension() => PrismContainerExtension.Current;
Prism 8 引入了 范围服务 的注册方法。 IContainerProvider
接口声明了一个额外的方法 CreateScope
and a member CurrentScope
,早期版本中没有。
public interface IContainerProvider {
// ...other members.
IScopedProvider CreateScope();
ScopedProvider CurrentScope { get; }
}
Prism.Unity.Extensions 中 7.2.0.1054 及更早版本中的 PrismContainerExtension
类 不实现这个方法。因此,在 Prism 8 中使用它会出现异常。
由于类型不兼容,您要么必须恢复到 Prism 7.2.0.1054,要么必须等待 [=35= 的新版本] 支持 Prism 8 中的新作用域服务。存储库中已经进行了更改,但预览版目前为 only available to sponsors。