如何调试Blazor服务器端渲染(SSR)组件代码?
.NET 8 Blazor SSR 组件调试方法
问题背景
正在构建Blazor服务器端渲染(SSR)应用,Program.cs配置如下:
builder .Services .AddRazorComponents() .AddInteractiveServerComponents();
以及:
app.MapRazorComponents<App>() .AddInteractiveServerRenderMode();
现有一个语言切换组件无法正常运行,需要通过断点调试组件代码,但找不到可行的调试方式,组件代码如下:
@using System.Globalization @inject IJSRuntime JSRuntime @inject NavigationManager Nav <select class="form-control" @onchange="ChangeLanguage"> @foreach (var language in supportedLanguages) { <option value="@language">@language.DisplayName</option> } </select> @code { CultureInfo[] supportedLanguages = new[] { new CultureInfo("en-US"), new CultureInfo("pt-PT"), new CultureInfo("fr-FR"), }; private async Task ChangeLanguage(ChangeEventArgs e) { var culture = e.Value?.ToString(); Console.WriteLine("culture is " + culture); if (!string.IsNullOrEmpty(culture)) { await JSRuntime.InvokeVoidAsync("BlazorCulture.setCulture", culture); } } }
调试解决方案
在.NET 8环境下,实现该服务器端组件调试的有效方法是在App.razor文件中添加以下代码:
<script src="_framework/blazor.server.js" autostart="false"></script> <script> Blazor.start({ configureSignalR: function (builder) { builder.withUrl("/_blazor", { skipNegotiation: true, transport: 1 }); } }); </script>
内容的提问来源于stack exchange,提问作者Nmaster88
相关产品推荐
相关产品推荐

