2014-05-15 11 views
6

Attualmente sto giocando SignalR 2.0.3, scalando con un backplane che utilizza Redis per le finestre http://msopentech.com/blog/2013/04/22/redis-on-windows-stable-and-reliable/Come posso sapere se il mio SignalR Backplane (Redis) funziona davvero come dovrebbe?

ho integrato con il pacchetto SignalR.Redis appropriato in VS.

ho fatto le seguenti modifiche alla mia startup:

GlobalHost.DependencyResolver.UseRedis(
     server: "localhost", 
     port: 6379, 
     password: string.Empty, 
     eventKey: "BroadcasterExample" 
     ); 
    app.MapSignalR(hubConfiguration); 

Costruisce bene. Il mio client sembra connettersi OK. Posso inviare notifiche tra il client & server e viceversa.

Dalle Redis-client, posso entrare:

get BroadcasterExample 
which returns: "3" 

Suppongo che le cose stanno funzionando, ma ...

Un paio di domande: 1) Come posso dire che funziona davvero?

2) Cosa posso esaminare sul server Redis (anche se il client Redis)?

3) Cosa viene memorizzato in quali strutture dati (coppie chiave/valore, elenchi, hash, insiemi)?

Vorrei una visione più approfondita di ciò che sta accadendo. Ho esaminato i comandi su: http://redis.io/commands Nulla mi salta e questo mi aiuterà a mappare cosa sta realmente accadendo.

Qualcuno può indicarmi la direzione giusta qui?

Grazie, JohnB

risposta

5

1) Credo che hai già verificato che stava lavorando quando è stato eseguito "ottiene BroadcasterExample" ed è tornato "3". BroadcasterExample è il nome del canale su cui SignalR invierà i messaggi e credo che il 3 rappresenti il ​​numero di messaggi che sono stati elaborati. Man mano che invii più messaggi con SignalR dovresti vedere quell'incremento del numero.

2) Un buon modo per dire che le cose funzionano è iscriversi al canale BroadcasterExample con il client redis e osservare i messaggi. Dal client, eseguire:

subscribe BroadcasterExample 

3) SignalR probabilmente memorizzerà solo quella chiave, il tasto "BroadcasterExample". SignalR utilizza solo la funzionalità di pubblicazione/sottoscrizione di Redis, senza memorizzare alcun dato.

0

La risposta da jaggedaz ha informazioni utili. Vorrei anche aggiungere che è possibile eseguire un diverso tipo di test abbastanza rapidamente ospitando l'applicazione due volte, in 2 diverse porte, utilizzando IIS Express. Se connetti 2 finestre del browser a queste 2 diverse istanze e inizi a scambiare messaggi (come le trasmissioni su Tutti), le vedrai scorrere su entrambi i client, il che è possibile solo quando il backplane funziona effettivamente.

Problemi correlati