You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何调试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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 16:05:14