【问题标题】:Can you create HttpClient read-only property and re-use it in your methods?您可以创建 HttpClient 只读属性并在您的方法中重新使用它吗?
【发布时间】:2023-01-12 02:03:23
【问题描述】:

Blazor 组件中的以下实现是否有任何问题?许多示例在每个方法中重复使用 CreateClient,我想知道它是否可以由一个属性处理,在一个地方避免重复。

@inject IHttpClientFactory ClientFactory

@code{
    private HttpClient Client => ClientFactory.CreateClient("api");
    private object myData;

    private async Task GetData()
    {
        myData = await Client.GetFromJsonAsync<MyClass>("endpoint");
    }
}

【问题讨论】:

    标签: blazor blazor-server-side blazor-webassembly dotnet-httpclient httpclientfactory


    【解决方案1】:

    你的代码很好。

    HttpClientFactory 将负责处理 HttpMessageHandlers。

    =&gt; 语法本质上意味着您已经为运行代码(右侧)创建了一个别名(左侧)。

    换句话说,您在每个方法中都调用了 CreateClient,除非您通过使用别名 Client 让您的生活变得更轻松了。

    【讨论】:

      猜你喜欢
      • 2010-10-24
      • 2020-11-26
      • 2012-01-01
      • 2021-08-20
      • 1970-01-01
      • 2020-11-04
      • 1970-01-01
      • 1970-01-01
      • 2013-08-23
      相关资源
      最近更新 更多