У меня есть концентратор SignalR с несколькими конечными точками, все конечные точки работают, кроме одной.
Hub получает сообщение, но не может его обрабатывать. < /p>
//I set additional parameters to Logging configuration in application.json
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning",
"Microsoft.AspNetCore.SignalR": "Debug",//this
"Microsoft.AspNetCore.Http.Connections": "Debug"//and this one
}
}
< /code>
Журналы, когда клиент вызывает Endpoint ConsumeCandidate:
dbug: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[1] Received hub invocation: InvocationMessage { InvocationId: "2", Target: "ConsumeCandidate", Arguments: [ lolkek, 581dc267-d2ff-403f-924c-cd6dba40535b ], StreamIds: [ ] }.
Сервер не имеет проблем с получением сообщения, но Hub не вызывает необходимого метода.
Hub: < Br />public class LobbyHub(ILobbyService lobbyService, ILogger logger, IGameService gameService,
IElectionManager electionManager) : Hub
{
// this method should be invoked
public void ConsumeCandidate(string lobbyName, string userClientId)
{
logger.LogInformation($"Chancellor candidate received from: {userClientId}");
}
//For instance hub is able to invoke this one
public async Task StartGame(string lobbyName, string userClientId)
{
await gameService.StartRound(lobbyName, userClientId);
}
}
app.MapHub("/lobbyhub");
< /code>
Как вы можете видеть, это не может быть никаких проблем с именованием, также обратите внимание, что все другие методы этого центра работают хорошо, соединение не теряется, тот же клиент может вызвать другие конечные точки после Consumperedidate , и в этом нет никаких проблем. Не существует журналов из метода ConsumperCandidate , когда получение сообщения от клиента. Средний концентратор отображается, а Signalr зарегистрирован в DI).
Я попытался добавить [HubMethodName ("ConsumperCandidate")] < /code> к методу, но ничего не произошло. Я попытался отлаживать метод потребительского положения, но из -за того, что он не может быть назван, отладка не помогла. Все, что я могу сказать, что сервер получает сообщение, но не обрабатывает его.
builder.Services.AddSignalR().AddHubOptions(options =>
{
options.EnableDetailedErrors = true;
});
Подробнее здесь: https://stackoverflow.com/questions/794 ... invocation
SignalR не обрабатывает призыв в центре. ⇐ C#
Место общения программистов C#
1738940648
Anonymous
У меня есть концентратор SignalR с несколькими конечными точками, все конечные точки работают, кроме одной.
Hub получает сообщение, но не может его обрабатывать. < /p>
//I set additional parameters to Logging configuration in application.json
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning",
"Microsoft.AspNetCore.SignalR": "Debug",//this
"Microsoft.AspNetCore.Http.Connections": "Debug"//and this one
}
}
< /code>
Журналы, когда клиент вызывает Endpoint ConsumeCandidate:
dbug: Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher[1] Received hub invocation: InvocationMessage { InvocationId: "2", Target: "ConsumeCandidate", Arguments: [ lolkek, 581dc267-d2ff-403f-924c-cd6dba40535b ], StreamIds: [ ] }.
Сервер не имеет проблем с получением сообщения, но Hub не вызывает необходимого метода.
Hub: < Br />public class LobbyHub(ILobbyService lobbyService, ILogger logger, IGameService gameService,
IElectionManager electionManager) : Hub
{
// this method should be invoked
public void ConsumeCandidate(string lobbyName, string userClientId)
{
logger.LogInformation($"Chancellor candidate received from: {userClientId}");
}
//For instance hub is able to invoke this one
public async Task StartGame(string lobbyName, string userClientId)
{
await gameService.StartRound(lobbyName, userClientId);
}
}
app.MapHub("/lobbyhub");
< /code>
Как вы можете видеть, это не может быть никаких проблем с именованием, также обратите внимание, что все другие методы этого центра работают хорошо, соединение не теряется, тот же клиент может вызвать другие конечные точки после Consumperedidate , и в этом нет никаких проблем. Не существует журналов из метода ConsumperCandidate , когда получение сообщения от клиента. Средний концентратор отображается, а Signalr зарегистрирован в DI).
Я попытался добавить [HubMethodName ("ConsumperCandidate")] < /code> к методу, но ничего не произошло. Я попытался отлаживать метод потребительского положения, но из -за того, что он не может быть назван, отладка не помогла. Все, что я могу сказать, что сервер получает сообщение, но не обрабатывает его.
builder.Services.AddSignalR().AddHubOptions(options =>
{
options.EnableDetailedErrors = true;
});
Подробнее здесь: [url]https://stackoverflow.com/questions/79421318/signalr-does-not-handles-received-hub-invocation[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия