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上找到了它,但是每个人都说这是以前的预览版本中的pix。
答案 0 :(得分:1)
服务器端Blazor使用网络套接字(通过SignalR)在服务器和浏览器之间进行通信。
Azure Web应用程序默认禁用Web套接字,这就是为什么您的浏览器无法连接到服务器的原因。
转到您的Azure应用配置以启用Web套接字。
Doc:Publish an ASP.NET Core SignalR app to Azure App Service