Blazor WebAssembly独立项目自动添加的HttpClient是否必要及是否被使用?
Blazor WebAssembly 自动生成的 HttpClient 配置说明
这段builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });代码是微软为简化开发提供的便利设置,以下是具体解析:
是否必要?
完全不是必须的。如果你的应用不需要发起HTTP请求,或者你打算手动创建、配置HttpClient实例,直接删掉这段代码也不会影响应用运行。是否会被应用使用?
会的。当你在组件里通过依赖注入获取HttpClient(比如写@inject HttpClient Http),拿到的就是这个预配置的实例。它把BaseAddress设为应用的部署地址,刚好适配大多数调用同域名后端API的场景,不用你再手动指定地址。微软为什么要默认添加这段?
这是“约定优于配置”的实践,针对WebAssembly应用最常见的使用场景——调用同域名下的后端服务——提前做好配置,减少开发者的重复劳动。你也可以根据需求修改它,比如把BaseAddress改成第三方API的地址,或者替换成带自定义消息处理器的HttpClient配置。
内容的提问来源于stack exchange,提问作者Sam
相关产品推荐
相关产品推荐

