【发布时间】:2021-04-30 06:29:34
【问题描述】:
有没有办法将 httpClient 注入到我自己的自定义类中?
明确一点 - 我知道如何在 blazor 中使用 DI 注入组件或其他服务。 只是为了测试它的可能性。
我想做一些类似代码的事情
protected override async Task OnInitializedAsync()
{
GSP gsp = new GSP("db1","table1");
gsp.get("users", ()=>{ do something with data}); // and this should call api and get users
}
所以我有
public class GSP
{
[Inject]
public HttpClient httpClient { get; set; }
...
}
但它是null
我还检查了 ctor 选项
public GSP(HttpClient httpClient)
{
this.httpClient = httpClient;
}
但是我必须手动传递这个注入到组件中的 httpClient。
我可以的
private HttpClient httpClient = new HttpClient { BaseAddress }
但是我没有 BaseAdres。听说我们又去了 - 在这个地方得到这个 BaseAddres 的更简单的方法? ;)
有可能吗?或者这只是“糟糕的做法”,这就是我找不到的原因? 非常感谢!
【问题讨论】:
-
关闭但没有,因为我想自己创建对象并将 DI 注入作为该类的属性
标签: dependency-injection blazor blazor-webassembly