obi*_*ind 4 c# httprequest blazor
我正在尝试在 Blazor 服务器中执行 http Post 请求。我尝试发送用户名和密码
这是我进行 Web Api 调用的部分:
private IEnumerable<yolo> test = Array.Empty<yolo>();
private bool getBranchesError;
private bool shouldRender;
protected override async Task OnInitializedAsync()
{
var request = new HttpRequestMessage(HttpMethod.Post,
"https://url.com");
request.Headers.Add("Accept", "application/vnd.github.json");
request.Headers.Add("User-Agent", "HttpClientFactory-Sample");
var client = ClientFactory.CreateClient();
var response = await client.SendAsync(request);
if (response.IsSuccessStatusCode)
{
using var responseStream = await response.Content.ReadAsStreamAsync();
test = await JsonSerializer.DeserializeAsync
<IEnumerable<yolo>>(responseStream);
}
else
{
getBranchesError = true;
}
shouldRender = true;
}
public class yolo
{
[JsonPropertyName("name")]
public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
这是我的 Program.cs
var app = builder.Build();
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Error");
// The default HSTS value is 30 days. You may
want to change this for production scenarios,
see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.MapBlazorHub();
app.MapFallbackToPage("/_Host");
app.Run();
//http Client
builder.Services.AddHttpClient();
Run Code Online (Sandbox Code Playgroud)
我知道这很混乱,但我已经尝试了 6 个小时来解决它:D
这是错误消息
我的目标是它不再崩溃
如果您需要更多信息,请写评论:D
当你在Startup课堂上时var app = builder.build();,你是否含蓄地说“我已经完成了服务注册”。所以你需要将你的移动builder.Services.AddHttpClient();到该行之前的某个地方才能使其工作,它不能在最后。
builder.Services.AddHttpClient();
// Adding services needs to go before this one!
var app = builder.Build();
// Configure the HTTP request pipeline.
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.MapBlazorHub();
app.MapFallbackToPage("/_Host");
app.Run();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4772 次 |
| 最近记录: |