因此,当我连接到WebSocket时,我的Blazor应用程序遇到了这种奇怪的行为.当我在集线器的顶部添加授权属性时,我的应用程序不想连接到wss.然而,当我try 发送请求时,它仍然按预期工作(我猜它是通过http?).此外,当我判断我的网络选项卡时,它没有显示401错误或任何其他内容,它的状态只是显示完成.我在这里做错了什么?
这是我收到的错误消息 https://i.stack.imgur.com/BLyZM.png个
这是我的网络选项卡的屏幕截图 https://i.stack.imgur.com/b5c3v.png个
这就是我目前实施集线器的方式
using Duende.IdentityServer.Extensions;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.SignalR;
using System.Security.Claims;
namespace BagiBagiDev.Server.Hubs
{
[Authorize]
public class PaymentHub : Hub
{
public async Task TestMessage(string user, string message)
{
await Clients.All.SendAsync("ReceiveMessage", user, message);
}
public override async Task OnConnectedAsync()
{
var username = Context.User.FindFirst(c => c.Type == ClaimTypes.Name).Value;
if (!string.IsNullOrEmpty(username))
{
await Groups.AddToGroupAsync(Context.ConnectionId, username);
}
await base.OnConnectedAsync();
}
}
}
我试着在互联网上搜索,很多人都指出了vscode的一个错误,但我认为这个问题应该已经在我的当前版本(v17.6)中得到了修复,所以我不确定发生了什么.