Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Salve, mondo!
Un'applicazione Hello, World! che illustra come creare e usare i primi grani.
Hello World illustra
- Come iniziare a usare Orleans
- Come definire e implementare un'interfaccia granulare
- Come ottenere un riferimento a una grana e richiamarla
carrello acquisti
Un'applicazione di esempio canonica di carrello della spesa creata con Microsoft Orleans. Questa app mostra le funzionalità seguenti:
Carrello acquisti: una semplice applicazione carrello acquisti che usa Orleans per il supporto multipiattaforma e le funzionalità di applicazione distribuite scalabili.
- gestione inventario: modifica e/o creazione dell'inventario dei prodotti.
- Negozio inventario: esplora i prodotti acquistabili e li aggiungi al carrello.
- Carrello: visualizza un riepilogo di tutti gli articoli nel carrello e gestisci questi articoli rimuovendo o modificando la quantità di ogni articolo.
Il carrello acquisti dimostra
- Come creare un'esperienza di carrello acquisti distribuita
- Come gestire la persistenza granulare in relazione agli aggiornamenti dell'inventario in tempo reale
- Come esporre elementi specifici dell'utente che si estendono su più client
Avventura
Prima delle interfacce utente grafiche, delle console di gioco e dei giochi multiplayer massicce, c'erano terminali e giochi VT100 come Colossal Cave Adventure, Zork e Microsoft Adventure. Forse banale secondo gli standard di oggi, allora era un mondo magico di mostri, uccelli cinguettanti e cose che si potevano raccogliere. Questo esempio trae ispirazione da questi giochi.
Adventure mostra
- Come strutturare un'applicazione (in questo caso, un gioco) usando grani
- Come connettere un client esterno a un cluster Orleans (ClientBuilder)
Chirper
Un sistema pub/sub di social network in cui gli utenti inviano messaggi di testo brevi l'uno all'altro. Gli editori inviano brevi messaggi "Chirp" (da non confondere con "Tweet" per vari motivi legali) a qualsiasi altro utente che li segue.
Chirper dimostra
- Come creare un'applicazione di social media/social network semplificata usando Orleans
- Come memorizzare lo stato all'interno di un grain utilizzando la persistenza dei grain (IPersistentState<TState>)
- Grani che implementano più interfacce di granularità
- Grani rientranti, consentendo l'esecuzione simultanea di più chiamate ai grani in modo interleaved su un singolo thread.
- Uso di un osservatore granulare (IGrainObserver) per ricevere notifiche push da grani
Localizzatore GPS
Un servizio per tenere traccia dei dispositivi IoT dotati di GPS su una mappa. Le posizioni dei dispositivi vengono aggiornate quasi in tempo reale usando SignalR, dimostrando un approccio all'integrazione Orleans con SignalR. Gli aggiornamenti del dispositivo provengono da un gateway del dispositivo, implementato usando un processo separato che si connette al servizio principale e simula diversi dispositivi che si spostano pseudocasualmente in un'area di San Francisco.
Gps Tracker dimostra
- Come usare Orleans per creare un'applicazione internet delle cose di
- Come Orleans può essere ospitato insieme e integrato con ASP.NET Core SignalR
- Come trasmettere gli aggiornamenti in tempo reale da un grain a un insieme di client utilizzando Orleans e SignalR
HanBaoBao
Un'applicazione Web del dizionario English-Mandarin che illustra la distribuzione in Kubernetes, le chiamate con granularità fan-out e la limitazione delle richieste.
HanBaoBao dimostra
- Come creare un'applicazione realistica usando Orleans
- Come distribuire un'applicazione basata su Orleansin Kubernetes
- Come integrare Orleans con ASP.NET Core e un'applicazione a pagina singola framework JavaScript (Vue.js)
- Come implementare la limitazione delle richieste con l'algoritmo leaky bucket
- Come caricare e interrogare dati da un database
- Come memorizzare nella cache i risultati in modo pigro e temporaneo
- Come distribuire le richieste a molte unità e raccogliere i risultati
Servizio di Presenza
Un servizio di presenza per giochi, simile a uno dei servizi basati su Orleanscreati per Halo. Un servizio di presenza tiene traccia di giocatori e sessioni di gioco quasi in tempo reale.
Il servizio di presenza dimostra
- Una versione semplificata di un uso reale di Orleans
- Uso di un osservatore granulare (IGrainObserver) per ricevere notifiche push da grani
Tic Tac Toe
Un gioco Tic-tac-toe basato sul Web che usa ASP.NET MVC, JavaScript e Orleans.
Tic Tac Toe dimostra
- Come creare un gioco online usando Orleans
- Come creare un sistema di lobby di gioco di base
- Come accedere ai grani di Orleans da un'applicazione MVC core ASP.NET
voto
Un'applicazione Web per votare su un set di scelte. Questo esempio illustra la distribuzione in Kubernetes. L'applicazione usa l'host generico .NET per ospitare ASP.NET Core e Orleans, nonché il Orleans dashboard, insieme nello stesso processo.
Il voto dimostra
- Come distribuire un'applicazione basata su Orleansin Kubernetes
- Come configurare la dashboard di Orleans
sala chat
Un'applicazione di chat basata su terminale creata usando Orleans Streams.
Chat Room dimostra le sue funzionalità
- Come creare un'applicazione di chat usando Orleans
- Come usare i flussi Orleans
Conto Bancario
Simula conti bancari, utilizzando transazioni ACID per trasferire importi casuali tra un set di conti.
Il conto bancario dimostra
- Come usare Orleans Transazioni per eseguire operazioni che coinvolgono più grani con stato persistente con garanzie ACID e isolamento serializzabile.
Blazor Server e Blazor WebAssembly
Questi due esempi di Blazor si basano sulle esercitazioni introduttive Blazor , adattate per l'uso con Orleans. L'esempio Blazor WebAssembly usa il modello di hosting Blazor WebAssembly. L'esempio Blazor Server usa il modello di hosting Blazor Server. Includono un contatore interattivo, un elenco TODO e un servizio Meteo.
Le app di esempio Blazor dimostrano
- Come integrare ASP.NET Core Blazor Server con Orleans
- Come integrare ASP.NET Core Blazor WebAssembly (WASM) con Orleans
Azioni
Un'applicazione di quotazioni azionarie che recupera i prezzi da un servizio remoto usando una chiamata HTTP e memorizza temporaneamente i prezzi nella cache in un'unità di memorizzazione. Un BackgroundService esegue periodicamente un controllo dei prezzi aggiornati delle azioni da vari StockGrain grain corrispondenti a un set di simboli azionari.
L'applicazione di esempio per titoli dimostra
- Come usare Orleans da un BackgroundService.
- Come usare i timer all'interno di un grain.
- Come effettuare chiamate a servizi esterni utilizzando il
HttpClientdi .NET e memorizzare nella cache i risultati all'interno di un grain.
Sicurezza del Livello di Trasporto
Un Hello, World!'applicazione configurata per l'uso di Transport Layer Security per proteggere la comunicazione di rete tra ogni server.
Sicurezza del livello di trasporto dimostra
- Come configurare l'autenticazione mutual-TLS (mTLS) per Orleans
Visual Basic Hello World
Un'applicazione Ciao, Mondo! con Visual Basic.
Visual Basic Hello World dimostra
- Come sviluppare applicazioni basate su Orleanscon Visual Basic
F# Hello World
Un Hello, World! è un'applicazione con F#.
F# "Hello World" dimostra come funziona
- Come sviluppare applicazioni basate su Orleanscon F#
streaming : flussi pub/sub su Hub eventi di Azure
Un'applicazione che usa Orleans Streams con Hub Eventi di Azure come provider e come sottoscrittori impliciti.
I flussi pub/sub dimostrano
- Come usare i flussi Orleans
- Come usare l'attributo
[ImplicitStreamSubscription(namespace)]per sottoscrivere in modo implicito una granularità al flusso con l'ID corrispondente - Come configurare i flussi di Orleans per l'uso con Azure Event Hubs
Streaming: adattatore dati personalizzato
Un'applicazione che usa Orleans Streams con un non-Orleans publisher che esegue il push in un flusso che un granello consuma tramite un adattatore dati personalizzato, indicando Orleans come interpretare i messaggi del flusso.
Custom Data Adapter (Adattatore dati personalizzato) illustra
- Come usare i flussi Orleans
- Come usare l'attributo
[ImplicitStreamSubscription(namespace)]per sottoscrivere in modo implicito una granularità al flusso con l'ID corrispondente - Come configurare i flussi di Orleans per l'uso con Azure Event Hubs
- Come utilizzare i messaggi di flusso pubblicati da editori nonOrleans fornendo un'implementazione personalizzata di
EventHubDataAdapter(un adattatore dati personalizzato)