Гиперссылки не загружают страницу, но показывают выбранные - PullRequest
0 голосов
/ 25 июня 2019

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;
    }
}

--- Update ---

Я получаю ошибку: «невозможно отправить данные, если соединение не находится в состоянии« подключено »в консоли браузера. Я нахожу это в Google, но все говорят, что это было в предыдущих версиях предварительного просмотра.

1 Ответ

1 голос
/ 27 июня 2019

Серверная часть Blazor использует веб-сокеты (через SignalR) для связи между сервером и браузером.

Веб-сокеты по умолчанию отключены в веб-приложениях Azure. Думаю, именно поэтому ваш браузер можетне подключайтесь к серверу.

Перейдите в конфигурацию приложения Azure, чтобы включить веб-сокеты.

Документ: Опубликовать приложение ASP.NET Core SignalR в службе приложений Azure

...