Масштабирование SignalR с помощью Redis

http://www.asp.net/signalr/overview/signalr-20/performance-and-scaling/scaleout-with-redis Я перешел по этой ссылке, чтобы масштабировать мой простой проект визуальной студии чата signalr.

Я сделал свой виртуальный компьютер Ubuntu на Azure, который работает под управлением Redis.

Я добавил GlobalHost.DependencyResolver.UseRedis("сервер", порт, "пароль", "Имя приложения"); к моему классу запуска, и сейчас я тестирую его только на своей машине, а не на других серверах. Но это не работает.

Как только я ввожу эту строку, моя программа чата зависает на строке 1 (см. ниже) и никогда не достигает строки 2.

1)$.connection.hub.start().done(function () { 2) $('#sendmessage').click(function () { Что я делаю не так?


person user3311298    schedule 16.04.2014    source источник


Ответы (2)


Лучше всего настроить ведение журнала на стороне сервера и на стороне клиента. На этой странице подробно описано http://www.asp.net/signalr/overview/signalr-20/performance-and-scaling/scaleout-in-signalr.

Сообщите нам о своих результатах, и, возможно, мы сможем помочь...

Итак, через 2 месяца кто-то попросил более подробную информацию ... так что вот она скопирована и вставлена

Включение трассировки для масштабирования SignalR

Чтобы включить трассировку объединительных плат, добавьте следующие разделы в файл web.config в корневом элементе конфигурации:

<configuration>
  <system.diagnostics>
    <sources>
      <source name="SignalR.SqlMessageBus">
        <listeners>
          <add name="SignalR-Bus" />
        </listeners>
      </source>
      <source name="SignalR.ServiceBusMessageBus">
        <listeners>
          <add name="SignalR-Bus" />
        </listeners>
      </source>
      <source name="SignalR.ScaleoutMessageBus">
        <listeners>
          <add name="SignalR-Bus" />
        </listeners>
      </source>
    </sources>
    <switches>
      <add name="SignalRSwitch" value="Verbose" />
      <!-- Off, Critical, Error, Warning, Information, Verbose -->
    </switches>
    <sharedListeners>
      <add name="SignalR-Bus" 
          type="System.Diagnostics.TextWriterTraceListener" 
          initializeData="bus.log.txt" />
    </sharedListeners>
    <trace autoflush="true" />
  </system.diagnostics>
  . . .
</configuration>
person penderi    schedule 09.06.2014
comment
Хотя эта ссылка может ответить на вопрос, лучше включить сюда основные части ответа и предоставить ссылку для справки. Ответы, содержащие только ссылки, могут стать недействительными, если связанная страница изменится. - person Wai Ha Lee; 17.09.2015
comment
Привет, гм, это может быть правдой, но это было здесь в течение 2 месяцев... такое ощущение, что кто-то гонится за представителем SO... - person penderi; 17.09.2015
comment
Год и два месяца. Вполне возможно, что кто-то просматривает ваши сообщения и помечает их как «не ответ», где это уместно. Если да, то это не я. Однако спасибо за редактирование вашего ответа. Кстати, я не получаю никакой репутации, голосуя за удаление ответов. - person Wai Ha Lee; 17.09.2015

Вам нужно включить pub/sub канал на сервере Redis. Шаги:

  1. Откройте файл redis.windows.conf
  2. Перейти в раздел уведомлений о событиях
  3. Добавьте или раскомментируйте notify-keyspace-events E
  4. Перезапустите сервер Redis.
person amit    schedule 13.04.2017