2017-02-08 5 views
0

Я хочу создать уведомление меню с SignalR 2 в моем приложении MVC.Уведомления с SignalR2 и MVC

Итак, когда какой-либо пользователь совершает определенное действие, некоторые пользователи (не все и не каждый раз каждый раз) должны быть уведомлены. Некоторым нравится уведомление SO, когда кто-то отвечает на вопрос.

Должен ли я хранить connectionId в базе данных, чтобы узнать, кто должен быть уведомлен после запуска действия? Что бы вы сделали?

+0

Это зависит от вас, насколько хорошо вы можете управлять своими пользователями. В одном из моих последних проектов я использовал браузер SessionID для идентификации своих пользователей и сохранял их в статическом списке в качестве онлайн-пользователей. Затем, если пользователь хочет отправить уведомление другому пользователю, я использую этот статический список для идентификации получателя. – Prabhat

ответ

0

я должен был сделать что-то подобное, и это то, что я сделал:

1) Определить типы уведомлений на основе ролей пользователей. Каждый тип уведомления имел список конкретных получателей. Таким образом, я знал, был ли создан тип уведомления, я должен был уведомить некоторых пользователей.

2) Я отправляю уведомления по имени, а не по идентификатору соединения.

3) Уведомления могут быть отправлены с клиентского кода (JS) или из внутреннего кода (C#). В JS у вас есть такие функции, как «другие», которые действительно удобны. В C# у вас тоже есть «другие», но это работает только с идентификаторами подключения.

4) Я также уведомляю об изменениях в данных, поэтому, если кто-то меняет порядок 1, я уведомляю диспетчера и любого другого пользователя, у которого открыт заказ (в этом случае я отправляю уведомление супервизору и всем другие агенты и на основе заказа, который открыл каждый пользователь, я решаю, обрабатываю ли я сообщение msg или нет).

Надеюсь, это поможет!

Смежные вопросы