Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: ASP.NET MVC
Войти
Регистрация
Восстановить пароль
 
VladimirZ29
1 / 1 / 2
Регистрация: 09.01.2015
Сообщений: 41
1

Как вызвать метод хаба SignalR из контроллера?

26.03.2019, 09:26. Просмотров 474. Ответов 1

Как вызвать метод хаба SignalR из контроллера? Перепробовал уже множество вариантов - на клиенте метод все равно не дергается. Если вызывать метод непосредственно из хаба - всё отлично, работает. Если же это делать из контроллера - не прилетает на клиент ничего. Сейчас код такой:
C#
1
GlobalHost.ConnectionManager.GetHubContext<MessageTransferHub>().Clients.Client(client.ConnectionId).updateMessages(userId.ToString(), messageText, dialogId);
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
            var messageTransferHub = $.connection.messageTransferHub;
            $.connection.hub.start().done(function () {
 
            });
            messageTransferHub.client.joinMessaging = function () {
                console.log('joined');
            };
 
            messageTransferHub.client.updateMessages = function (userId, messageText, dialogId) {
                var dialogItem = findDialogItem(dialogId);
                if (dialogItem != null) {
                    dialogItem.Messages().push(new MessageViewModel({
                        UserId: userId,
                        MessageText: messageText
                    }));
                    dialogItem.Offset(dialogItem.Offset() + 1);
                }
            };
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.03.2019, 09:26
Ответы с готовыми решениями:

Вызвать метод контроллера из представления или другого контроллера
Мне нужно по кнопке вызвать метод LogOut в контроллере AccountController. Я пытаюсь сделать так:...

Как вызвать метод контроллера
Есть вопрос: Как вызвать метод контроллера из представления или Как при загрузке начальной...

Как привязать SignalR к методам контроллера в MVC Core?
Делаю чат в MVC проекте.Как реализовать частную переписку двух пользователей в SignalR при передаче...

Как вызвать Action с другого контроллера?
есть екшн actionRecovery в контроллере ForgotСontroller ,в actionRecovery я хочу вызвать екшн...

Как вызвать метод info в метод Main и с какими параметрами?
я новичок в C#, так что не судите строго.. Я не думаю что это кому-то покажется сложным, но у меня...

1
KPFU
11 / 7 / 4
Регистрация: 20.03.2014
Сообщений: 99
11.11.2019, 11:41 2
В конструктор контроллера надо добавить контекст хаба, и потом через него вызывать нужные методы

C#
1
2
3
4
5
6
7
8
9
10
11
public class MyController : Controller
    {
        private readonly IHubContext<ChatHub> hubContext;
 
        public MyController(IHubContext<TargetHub> hubContext)
        {
            this.hubContext = hubContext;
        }
 
        await hubContext.Clients.All.SendAsync(...);
}
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.11.2019, 11:41

Метод main и как им вызвать другой метод
Доброго всем времени суток. У меня возникла проблема. Вобщем дело такое. У меня есть тестовый класс...

Как в AuthorizationFilterAttribute узнать какой метод контроллера выполняется?
Привет! Действия происходят в Web API (подходящего раздела я не нашел, поэтому создаю тему в...

Как обработать метод контроллера если не найдена запись в бд
К примеру у нас есть метод в контроллере, который принимает номер страницы. Если метод сервиса не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.