【问题标题】:Calling a webapi method from Blazor server从 Blazor 服务器调用 webapi 方法
【发布时间】:2021-10-13 18:30:11
【问题描述】:

这似乎已被弃用,无法在 nuget 包中找到

Microsoft.AspNetCore.Blazor.HttpClient

         public class EmployeeService : IEmployeeService
            {
                private readonly HttpClient httpClient;

                public EmployeeService(HttpClient httpClient)
                {
                    this.httpClient = httpClient;
                }

                public async Task<IEnumerable<Employee>> GetEmployees()
                {
                    return await httpClient.GetJsonAsync<Employee[]>("api/employees");
                }
            }

我正在尝试使用 httpClient 从 Blazor 调用 webapi 方法。

这个可以用什么代替?

【问题讨论】:

    标签: asp.net-core httpclient blazor-server-side


    【解决方案1】:

    不确定您的 taget 框架版本是什么。只需尝试添加 System.Net.Http.Json 命名空间以检查它是否有效。

    如果不起作用,您可以使用GetFromJsonAsync,如下所示:

    using System.Net.Http.Json;  //be sure add this namespace..
    
    public async Task<IEnumerable<Employee>> GetEmployees()
    {
        return await httpClient.GetFromJsonAsync<Employee[]>("https://localhost:portNumber/api/employees");
    }
    

    【讨论】:

    • 我正在使用.net framework 5
    • 不,如果您使用 blazor,.net 框架是不可能的。它必须是 .net 核心。我想你可能会使用 .Net 5。那么你检查我的共享代码吗?它应该可以工作,因为我使用的是 .Net 5。请将我的代码复制到您的项目中。
    猜你喜欢
    • 2021-10-09
    • 2020-02-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-16
    • 2020-04-03
    • 1970-01-01
    • 1970-01-01
    • 2019-01-13
    相关资源
    最近更新 更多