#asp.net-core #signalr.client #asp.net-core-signalr #.net-5
#asp.net-core #signalr.client #asp.net-core-signalr #.net-5
Вопрос:
Я пытаюсь реализовать клиент и сервер signal r с сериализацией json. В настоящее время я ориентируюсь на .NET 5 и использую реализацию Microsoft json serializer. Мои сообщения представлены сложными объектами, и для чтения и записи используется JsonConverter. Я вижу, что на клиенте событие On никогда не вызывается, за исключением случаев, когда параметр обработчика указан как класс объекта.
connection.On("EntityEventAsync", (object obj) =>
{
//obj will be json object here
});
На стороне клиента я ясно вижу, что сообщения принимаются при вызове JsonConverter и считывает сообщения как следует, НО событие On никогда не возникает.
Типизированный код клиентского концентратора
public interface IEventsClient
{
Task EntityEventAsync(DetailedMessage message);
}
[Authorize(AuthenticationSchemes = "Basic,Bearer")]
public class EventHub : Hub<Clients.IEventsClient>
{
#region CONSTRUCTOR
public EventHub()
{
}
#endregion
}
Чего мне здесь может не хватать?
Комментарии:
1. Привет @NullRerence, не могли бы вы поделиться своим методом hub?
2. @Rena я обновил вопрос с помощью кода хаба.
Ответ №1:
Если кто-то еще сталкивается с той же проблемой, то это может быть проблема с реализацией JsonConverter, как в моем случае.
Можно включить ведение журнала клиента Signal R, как упоминалось здесь https://docs.microsoft.com/en-us/aspnet/core/signalr/diagnostics?view=aspnetcore-5.0
, и это должно упростить решение проблемы.