From ce533485f0ea6eab78893ca9a889b8f29c04658f Mon Sep 17 00:00:00 2001 From: Javier Calvarro Nelson Date: Thu, 11 Jun 2020 22:12:43 +0200 Subject: [PATCH] [Blazor] Register HttpClient as a scoped instance (#22770) This avoid the container holding on to transient HttpClient instances for the lifetime of the application. --- .../content/ComponentsWebAssembly-CSharp/Client/Program.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ProjectTemplates/ComponentsWebAssembly.ProjectTemplates/content/ComponentsWebAssembly-CSharp/Client/Program.cs b/src/ProjectTemplates/ComponentsWebAssembly.ProjectTemplates/content/ComponentsWebAssembly-CSharp/Client/Program.cs index 43b03d7ca8..02dac7f0d3 100644 --- a/src/ProjectTemplates/ComponentsWebAssembly.ProjectTemplates/content/ComponentsWebAssembly-CSharp/Client/Program.cs +++ b/src/ProjectTemplates/ComponentsWebAssembly.ProjectTemplates/content/ComponentsWebAssembly-CSharp/Client/Program.cs @@ -25,13 +25,13 @@ namespace ComponentsWebAssembly_CSharp builder.RootComponents.Add("app"); #if (!Hosted || NoAuth) - builder.Services.AddTransient(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) }); + builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) }); #else builder.Services.AddHttpClient("ComponentsWebAssembly_CSharp.ServerAPI", client => client.BaseAddress = new Uri(builder.HostEnvironment.BaseAddress)) .AddHttpMessageHandler(); // Supply HttpClient instances that include access tokens when making requests to the server project - builder.Services.AddTransient(sp => sp.GetRequiredService().CreateClient("ComponentsWebAssembly_CSharp.ServerAPI")); + builder.Services.AddScoped(sp => sp.GetRequiredService().CreateClient("ComponentsWebAssembly_CSharp.ServerAPI")); #endif #if(!NoAuth)