2013-02-24 4 views
0

Я работаю над системой управления обучением, и у меня есть требование с модулем экзамена для студентов, чтобы они могли задавать вопросы во время экзамена через 1 к 1 чату с профессором. В основном ученик задавал вопрос, связанный с экзаменационным вопросом, а затем профессор ответил бы на этого конкретного ученика. Я думал, что это будет идеальный вариант использования, чтобы опробовать SignalR.Чат SignalR на нескольких страницах

Так я установка основной пример по этой ссылке (http://www.asp.net/signalr/overview/getting-started/tutorial-getting-started-with-signalr), но я запутался, горячим, чтобы продолжить с учетом моих требований, которые:

  1. Разговор всегда находится между профессором и одного студента, который спросил оригинал вопрос.
  2. Страница, на которой профессор рассматривает/принимает вопросы, а страница была задана студентом, - это две разные страницы.

Так что мои вопросы:

  1. Может SignalR использоваться, где сообщения, размещаемые клиентом на одной странице доставляются клиенту на другой?
  2. Как настроить таргетинг на конкретного клиента, предпочтительно с помощью идентификатора пользователя из моего приложения, а не на идентификатор соединения клиента SignalR? Есть ли способ установить идентификатор соединения и как? Каков правильный подход? Очевидно, что я могу передать свой идентификатор пользователя клиенту и иметь какой-то JavaScript для проверки того, что возвращаемый идентификатор пользователя совпадает с идентификатором пользователя клиента. Но это правильный способ сделать это?

я извинить за длительную стену текста и любого посоветуйте буду высоко оценен ...

ответ

2
  1. Да, вы можете даже использовать SignalR для доставки сообщений клиентов на совершенно отдельный домен.
  2. Клиенты.Client («Идентификатор подключения, который вы хотите отправить»).
    Нет, вы можете получить к нему доступ через Context.ConnectionId.
    Рекомендации по управлению идентификаторами подключения SignalR 1.0 beta connection factory.
    Вы никогда не хотите иметь клиентскую сторону проверки, потому что его можно легко изменить, на стороне сервера аутентификации.

И наконец, если вы ищете образец, касающийся чата Checkout JabbR, это с открытым исходным кодом! https://github.com/davidfowl/JabbR.

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

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