微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法解析 net.core 3.0

如何解决无法解析 net.core 3.0

我正在尝试使用 IHttpClientFactory。我已阅读文章 https://docs.microsoft.com/en-us/aspnet/core/fundamentals/http-requests?view=aspnetcore-3.0 启动.cs

public void ConfigureServices(IServiceCollection services)
        {
            services.AddHttpClient();
            services.AddSingleton<INasaStream,NasaStream>();
            services.AddSingleton<INasaProvider,NasaProvider>();
        }
// another methods remove for clearance

NasaStream.cs

public class NasaStream : INasaStream
    {
 // some variables declaration
        public NasaStream(IOptions<AppSettings> options,HttpClient _client,ILogger<NasaProvider> _logger)
        {
            settings = options.Value;
            client = _client;
            logger = _logger;
        }
}

编译没有错误。但是当我尝试运行我的应用程序时,出现错误

未处理的异常。 System.AggregateException:无法构建某些服务(验证服务描述符“ServiceType”时出错: Mars.INasaStream Lifetime:Singleton ImplementationType:Mars.NasaStream':在尝试激活“Mars.NasaStream”时无法解析类型“System.Net.Http.HttpClient”的服务。)(验证服务描述符“ServiceType:Mars”时出错.INasaProvider Lifetime: Singleton ImplementationType: Mars.NasaProvider”:尝试激活“Mars.NasaStream”时无法解析“System.Net.Http.HttpClient”类型的服务。)(验证服务描述符“ServiceType:Mars.solDataQuery Lifetime:Singleton ImplementationType:Mars”时出错.solDataQuery”:尝试激活“Mars.NasaStream”时无法解析“System.Net.Http.HttpClient”类型的服务。)

为什么我做错了?

解决方法

好吧,那是我的错误。我看不到错误和调试日志,因为我关闭了它们。这并不意味着我的代码不起作用。 正确答案由@Nkosi 完成

public void ConfigureServices(IServiceCollection services)
    {

        services.AddHttpClient<INasaStream,NasaStream>();
        ...
    }

我应该使用类型化客户端,仅此而已

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。