You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET 7 Worker Service无法调用AddRefitClient方法求助

解决.NET 7 Worker Service中Refit AddRefitClient方法找不到的问题

问题原因

报错提示找不到AddRefitClient扩展方法,核心原因有两个:

  • 仅安装了基础的Refit包,缺少提供DI扩展支持的Refit.HttpClientFactory包
  • 代码中未引入Refit命名空间,导致扩展方法无法被识别

解决步骤

  1. 安装正确的NuGet包
    打开终端执行以下命令安装Refit.HttpClientFactory:

    dotnet add package Refit.HttpClientFactory
    

    也可以通过NuGet包管理器搜索并安装该包。

  2. 添加命名空间引用
    在Program.cs文件顶部添加:

    using Refit;
    
  3. 正确注册Refit客户端
    无需手动创建HttpClient,直接通过DI注册Refit接口即可,示例代码:

    // 定义你的API接口
    public interface IYourApiService
    {
        [Get("/api/resource")]
        Task<ApiResponse> GetResourceAsync();
    }
    
    // 在Program.cs的服务配置中注册
    builder.Services.AddRefitClient<IYourApiService>()
        .ConfigureHttpClient(client =>
        {
            client.BaseAddress = new Uri("https://your-api-domain.com");
            // 可在此配置超时、请求头等参数
        });
    

说明

Refit底层依赖HttpClientFactory管理HttpClient生命周期,但你无需手动实例化或维护HttpClient,按上述方式注册后,直接注入你的API接口就能使用Refit的所有功能。

内容的提问来源于stack exchange,提问作者Truc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 23:07:00