【问题标题】:Blazor WebAssembly Hosted API URLBlazor WebAssembly 托管 API URL
【发布时间】:2021-06-25 03:02:42
【问题描述】:

试图了解默认的 Blazor WebAssembly ASP.NET 托管模板...我的问题是服务器应用托管的 API 的确切位置是什么?

客户端应用只需调用 API“天气预报”:

await Http.GetFromJsonAsync<WeatherForecast[]>("WeatherForecast");

但是如果你手动导航到 http://localhost:xxxxx/weatherforecast 就没有这样的 URL

如果我想查看原始 JSON 结果,实际的 API 端点是什么?

【问题讨论】:

    标签: blazor blazor-webassembly


    【解决方案1】:

    在你的 blazor 组件中,注入了一个 HttpClient。

    @* Injection of HttpClient *@
    @inject HttpClient Http
    @* your page/component code *@
    @foreach (var f in forecasts)
    {
        <div>
            @f.SomeProperty
        </div>
    }
    
    @code {
        private WeatherForecast[] forecasts;
    
        protected override Task OnInitilizeAsync()
        {
            // Use HttpClient injected at top
            forecasts = Http.GetFromJsonAsync<WeatherForecast[]>("weatherforecast");
        }
    }
    

    在您的 Program 类中,您有一个 Main(string[]) 方法,它注册所有服务:

        // create a Builder for Blazor WebAssembly
        var builder = WebAssemblyHostBuilder.CreateDefault(args);
    
        // Register a HttpClient in services
        // builder.HostEnvironment.BaseAddress = domain of your app (localhost, www.example.com, ...)
        builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });
    

    【讨论】:

      猜你喜欢
      • 2020-09-16
      • 1970-01-01
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      • 2020-12-13
      • 1970-01-01
      • 2020-05-25
      • 2021-03-27
      相关资源
      最近更新 更多