【发布时间】:2021-07-17 03:19:06
【问题描述】:
希望一切都好。
我正在尝试在我的 Blazor 服务器端应用程序中实现 SignalR,该应用程序还实现了 Asp.net 核心标识。 当我导航到实现信号器集线器的剃须刀页面时,我收到以下消息:
“HttpRequestException:响应状态码不表示成功:401(未授权)。”
以下以红色突出显示以示例外:
等待 hubConnection.StartAsync();
这是我的剃须刀页面代码:
私有 HubConnection hubConnection;
protected override async Task OnInitializedAsync()
{
hubConnection = new HubConnectionBuilder()
.WithUrl(NavigationManager.ToAbsoluteUri("/EmployeePresenceStatusHub"))
.WithAutomaticReconnect()
.Build();
hubConnection.On("ReceiveMessage", () =>
{
LoadEmployeesPresenceStatus();
StateHasChanged();//Refresh the component using updated data
});
await hubConnection.StartAsync();
}
这是我的中心类:
public class EmpoyeesPresenceStatusHub : Hub
{
public async Task SendMessage()
{
await Clients.All.SendAsync("ReceiveMessage");
}
}
我已经按照这里的例子:
Use ASP.NET Core SignalR with Blazor
我假设我的 Blazor 应用程序中的 asp.net 核心身份功能导致了这种情况?
非常感谢任何帮助。
【问题讨论】:
-
您是否正在使用 Windows 身份验证?
-
查看此答案:stackoverflow.com/a/66617648/6152891 不要使用代码...而是在此处查看更新版本:github.com/enetstudio/SignalRServerIdentityAuthentication
标签: signalr blazor blazor-server-side asp.net-core-identity