0

ASP,net core3.0 服务器端 Blazor 应用程序。选择页面中的链接后。所选页面不会加载,但名称会显示在地址栏中。我必须在浏览器中单击“刷新”才能加载页面。

我尝试将主页链接从“”更改为“/”,最后在“/Home”的主页中添加了第二个页面指令并添加了它。

一切都加载到开发环境中就好了。但在 Azure 中,它的反应是这样的。

导航菜单与模板相同,我什至离开了天气页面,因为我想稍后实际使用它。

<div class="top-row pl-4 navbar navbar-dark">
    <a class="navbar-brand" href="/">
        <h1 id="Title">SHOP LIVE</h1>
        <h6 id="Title">Version 2.0</h6>
    </a>
    <button class="navbar-toggler" onclick="@ToggleNavMenu">
        <span class="navbar-toggler-icon"></span>
    </button>
</div>

<div class="@NavMenuCssClass" onclick="@ToggleNavMenu">
    <ul class="nav flex-column">
        <li class="nav-item px-3">
            <NavLink class="nav-link" href="/Home" Match="NavLinkMatch.All">
                <span class="oi oi-home" aria-hidden="true"></span> Repair Orders
            </NavLink>
        </li>
        <li class="nav-item px-3">
            <NavLink class="nav-link" href="/ShopMap">
                <span class="oi oi-map-marker" aria-hidden="true"></span> Shop Map
            </NavLink>
        </li>
        <li class="nav-item px-3">
            <NavLink class="nav-link" href="fetchdata">
                <span class="oi oi-list-rich" aria-hidden="true"></span> Weather
            </NavLink>
        </li>
    </ul>
</div>

@functions {
    bool collapseNavMenu = true;

    string NavMenuCssClass => collapseNavMenu ? "collapse" : null;

    void ToggleNavMenu()
    {
        collapseNavMenu = !collapseNavMenu;
    }
}

- -更新 - -

我收到错误消息:

如果连接未处于“已连接”状态,则无法发送数据

在浏览器控制台中。我在 Google 上找到了这个,但每个人都说这在以前的预览版本中已修复。

4

1 回答 1

1

服务器端 Blazor 使用 Web 套接字(通过 SignalR)在服务器和浏览器之间进行通信。

默认情况下,Azure Web 应用程序中禁用 Web 套接字,我认为这就是您的浏览器无法连接到服务器的原因。

转到您的 Azure 应用配置以启用 Web 套接字。

文档:将 ASP.NET Core SignalR 应用发布到 Azure 应用服务

于 2019-06-27T12:09:15.337 回答