blazer viene adottato rapidamente dalle organizzazioni che cercano di creare UI Web interattive con .NET. Ti consente di creare le applicazioni usando C# invece di subire il fastidio di JavaScript e tutta la tua logica lato server e lato client è consolidata nello spazio .NET.
Blazer utilizza l'ASP.NET Core Implementazione di SignalR per la messaggistica tra client e server. Poiché si trova nello stesso processo, non può essere ridimensionato una volta che il numero di transazioni diventa elevato o il carico del client aumenta sui server. Inoltre, non può essere utilizzato come backplane in un ambiente con carico bilanciato. Per le applicazioni in tempo reale e multiutente, questo può diventare un collo di bottiglia.
At NCache, abbiamo ricevuto richieste in merito NCache supporto con le app Blazer. Sì, NCache può essere facilmente integrato nelle tue applicazioni Blazer. NCache è una cache distribuita in memoria che implementa ASP.NET/ASP.NET Core SignalR Backplane per applicazioni web ad alto traffico, in tempo reale. Essendo distribuito, può essere ridimensionato per gestire richieste crescenti e non diventa un collo di bottiglia. Inoltre, NCache SignalR utilizza potente Messaggistica Pub/Sub funzionalità per inviare messaggi da un server Web a un altro. La figura 1 illustra come NCache si adatta alla tua applicazione Blazer come a SignalR Backplane:
Per semplificare, abbiamo usato l'implementazione di esempio Blazor SignalR di Microsofte integrato NCache come SignalR backplane nell'applicazione esistente. La nostra implementazione in esecuzione per l'utilizzo di Blazer NCache SignalR backplane viene caricato su GitHub.
utilizzando NCache SignalR Backplane in Blazer
Integrazione NCache as SignalR Backplane è molto semplice e richiede a malapena alcuna modifica del codice all'applicazione Blazor esistente.
Passaggio 1: crea cache
Per le tue app Blazer da usare NCache, è necessario creare una cache che agirà come un SignalR backplane. Scarica e installa NCache come spiegato in Guida all'installazione. È possibile creare e avviare la cache utilizzando uno dei seguenti metodi NCache strumenti di gestione:
Per questa applicazione, abbiamo creato una cache denominata "blazer” che verrà utilizzato nella nostra applicazione Blazer.
Passaggio 2: configurazione NCache as SignalR Backplane
In Avvio.cs della tua applicazione Blazer nel file BlazorSignalRApp.Server progetto, è necessario aggiungere le seguenti righe per configurare NCache as SignalR Backplane, e basta:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
public void ConfigureServices(IServiceCollection services) { //...Configure NCache as SignalR Backplane services.AddSignalR().AddNCache(ncacheOptions => { ncacheOptions.CacheName = "blazor"; ncacheOptions.ApplicationID = "chat"; }); //...Blazor code services.AddControllersWithViews(); services.AddResponseCompression(opts => { opts.MimeTypes = ResponseCompressionDefaults.MimeTypes.Concat( new[] { "application/octet-stream" }); }); } |
NCache Dettagli App Blazer con NCache NCache Documenti SignalR
Perché NCache?
Se l'applicazione Blazor è a traffico elevato ed è in esecuzione in una Web farm multiserver con bilanciamento del carico, utilizzare NCache come SignalR Backplane per le tue applicazioni ti offre i seguenti vantaggi:
- Messaggistica .NET Pub/Sub: NCache è una cache distribuita ricca di funzionalità e offre solide funzionalità di messaggistica Pub/Sub. SignalR Backplane utilizza queste funzionalità di messaggistica in NCache per inviare messaggi ad altri server nella web farm.
- 100% .NET / .NET Core Cache: Essendo una cache distribuita nativa .NET, NCache si adatta perfettamente al tuo ASP.NET / ASP.NET Core stack di applicazioni e riduce i costi di sviluppo e manutenzione.
- Estremamente veloce e scalabile: NCache è in memoria, il che lo rende estremamente veloce. La sua natura distribuita fornisce scalabilità lineare, grazie alla quale non diventa mai un collo di bottiglia per le prestazioni dell'applicazione Blazor anche in presenza di picchi di carico.
- Alta disponibilità: NCache fornisce un'architettura di clustering peer-to-peer che è dinamica e autorigenerante e non ha un singolo punto di errore.
- Supporto per gruppi e utenti: utilizzando NCache come SignalR backplane facilita l'invio di messaggi ai gruppi SignalR che sono raccolte di connessioni associate. Inoltre, utilizzando NCache come bus di messaggi, puoi anche inviare messaggi a tutte le connessioni associate a un particolare utente SignalR.
Conclusione
utilizzando NCache come SignalR Backplane nelle tue app Blazer è un processo molto semplice. Hai solo bisogno di configurare NCache come SignalR backplane nell'applicazione Blazor esistente con 2 righe di codice e il resto è gestito da NCache si. Con la facilità d'uso di Blazer e NCache integrazione, puoi garantire un'esperienza fluida.