Итак, я сталкиваюсь с этим странным поведением с моим приложением Blazor при подключении к WebSocket. Когда я добавил атрибут Authorize в верхней части концентратора, мое приложение не хочет подключаться к WSS. Однако, когда я попытался отправить запрос, он все еще работает, как и ожидалось (я предполагаю, что он делает это на HTTP?). Кроме того, когда я проверил свою вкладку «Сеть», она не говорит о ошибке 401 или что -то в этом роде, его статус просто написал законченным. Что я сделал здесь не так? Реализуйте мой концентратор < /p>
Код: Выделить всё
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, но я думаю, что это должно было быть исправлено с текущей версией, которую я имею (v 17.6), поэтому я не уверен, что происходит.
Подробнее здесь:
https://stackoverflow.com/questions/764 ... to-the-hub