--- lang: ja-jp breaks: true --- # Blazor WebAssembly: プリレンダリング中のサーバーサイドHttpClient設定方法 2025-06-21 ## サーバサイド Program.cs ```csharp= internal class Program { static async Task Main(string[] args) { var builder = WebApplication.CreateBuilder(args); // Add MudBlazor services builder.Services.AddMudServices(); // Add services to the container. builder.Services.AddRazorComponents() .AddInteractiveWebAssemblyComponents() .AddAuthenticationStateSerialization(); // .NET 9 認証状態シリアル化 ・・・ // ▼▼▼ HttpClient DI対応 ここから ▼▼▼ // HttpContextAccessorを登録して、プリレンダリング中にHttpContextにアクセスできるようにする builder.Services.AddHttpContextAccessor(); // プリレンダリング中にサーバーサイドでHttpClientをDIできるように登録 // HttpClientには、リクエスト元のベースアドレスを設定する builder.Services.AddScoped(sp => { var httpContextAccessor = sp.GetRequiredService<IHttpContextAccessor>(); var request = httpContextAccessor.HttpContext!.Request; var baseAddress = new Uri($"{request.Scheme}://{request.Host}{request.PathBase}"); return new HttpClient { BaseAddress = baseAddress }; }); // ▲▲▲ HttpClient DI対応 ここまで ▲▲▲ ・・・ var app = builder.Build(); ・・・ app.Run(); } } ``` ###### tags: `Blazor WebAssembly` `プリレンダリング` `HttpClient`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up