C# @inject HttpClient与@using System.Net.Http之间的问题;在查看页面上
那么@和System.Net.Http之间有什么不同呢;在这里创建对象并调用@inject HttpClient Http之间的方法有什么不同,所以我正在尝试学习Blazor 这行得通吗有人能解释一下区别吗C# @inject HttpClient与@using System.Net.Http之间的问题;在查看页面上,c#,dependency-injection,blazor,C#,Dependency Injection,Blazor,那么@和System.Net.Http之间有什么不同呢;在这里创建对象并调用@inject HttpClient Http之间的方法有什么不同,所以我正在尝试学习Blazor 这行得通吗有人能解释一下区别吗 @using System.Net.Http; @code { private WeatherForecast[] forecasts; protected override async Task OnInitializedAsync() {
@using System.Net.Http;
@code {
private WeatherForecast[] forecasts;
protected override async Task OnInitializedAsync()
{
var Http = new HttpClient();
forecasts = await Http.GetFromJsonAsync<WeatherForecast[]>("sample-data/weather.json");
}
@使用System.Net.Http;
@代码{
私人天气预报[]预测;
受保护的重写异步任务OnInitializedAsync()
{
var Http=new-HttpClient();
forecast=wait Http.GetFromJsonAsync(“sample data/weather.json”);
}
或
@page”/fetchdata
@注入HttpClient Http
@代码{
私人天气预报[]预测;
受保护的重写异步任务OnInitializedAsync()
{
forecast=wait Http.GetFromJsonAsync(“sample data/weather.json”);
}
使用var Http=new HttpClient();
时,创建一个包含HttpClient类型实例的局部变量
当您使用@injecthttpclient Http
时,您会告诉Blazor创建HttpClient服务的实例,并将其分配给名为Http的属性
不建议使用上述第一种用法。您应该始终注入对象,而不是实例化它们。注入的对象由依赖项注入系统创建,该系统可以创建对象、控制对象的生命周期以及许多其他好处,您可以在有关依赖项注入的文档中了解这些好处。使用
var Http=new HttpClient();
,创建一个包含HttpClient类型实例的局部变量
当您使用@injecthttpclient Http
时,您会告诉Blazor创建HttpClient服务的实例,并将其分配给名为Http的属性
不建议使用上述第一种用法。您应该始终注入对象,而不是实例化它们。注入的对象由依赖项注入系统创建,该系统可以创建对象、控制对象的生命周期,以及您可以在有关依赖项注入的文档中读到的许多其他好处。谢谢:):)谢谢: ) :) :)
@page "/fetchdata"
@inject HttpClient Http
@code {
private WeatherForecast[] forecasts;
protected override async Task OnInitializedAsync()
{
forecasts = await Http.GetFromJsonAsync<WeatherForecast[]>("sample-data/weather.json");
}