Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Hello, World !
Une application Hello, World ! illustrant comment créer et utiliser vos premiers grains.
Hello World démontre
- Comment démarrer avec Orleans
- Comment définir et implémenter une interface de grain
- Comment obtenir une référence à un grain et l’appeler
panier d’achat
capture d’écran
Exemple d’application de panier d’achat canonique créé à l’aide de Microsoft Orleans. Cette application présente les fonctionnalités suivantes :
Panier d’achat : une application de panier d’achat simple utilisant Orleans pour sa prise en charge multiplateforme et ses capacités évolutives d’application distribuée.
- gestion des stocks: modifiez et/ou créez un inventaire des produits.
- Shop inventory : Explorez les produits purchasables et ajoutez-les à votre panier.
- Panier : affichez un résumé de tous les éléments de votre panier et gérez ces éléments en supprimant ou en modifiant la quantité de chaque élément.
Le panier d’achat illustre
- Comment créer une expérience de panier d’achat distribué
- Comment gérer la persistance des grains en ce qui concerne les mises à jour d’inventaire dynamiques
- Guide pratique pour exposer des éléments spécifiques à l’utilisateur couvrant plusieurs clients
Aventure
Avant les interfaces utilisateur graphiques, les consoles de jeu et les jeux multijoueurs massifs, il y avait des terminaux et des jeux VT100 comme Colossal Cave Adventure, Zork et Microsoft Adventure. Peut-être fade par les normes d’aujourd’hui, à l'époque, c’était un monde magique de monstres, d’oiseaux chantants, et des objets que l'on pouvait ramasser. Cet exemple s’inspire de ces jeux.
Une aventure démontre
- Comment structurer une application (dans ce cas, un jeu) à l’aide de grains
- Connexion d’un client externe à un cluster Orleans (
ClientBuilder
)
Chirper
Un système de pub/sous-réseau de réseaux sociaux où les utilisateurs envoient des messages texte courts les uns aux autres. Les éditeurs envoient des messages courts « Chirp » (pas à confondre avec « Tweets » pour diverses raisons juridiques) à tous les autres utilisateurs qui les suivent.
Chirper démontre
- Comment créer une application de réseau social simplifiée à l’aide de Orleans
- Comment stocker l’état dans un grain à l’aide de la persistance des grains (
IPersistentState<T>
) - Grains implémentant plusieurs interfaces de grain
- Des grains réentrants, ce qui permet à plusieurs appels de grain de s’exécuter simultanément de manière entrelacée sur un seul fil.
- Utilisation d'un observateur de grains (
IGrainObserver
) pour recevoir des notifications push de grains
Suivi GPS
Service de suivi des appareils IoT équipés du GPS sur une carte. Les emplacements des appareils sont mis à jour en quasi-temps réel à l’aide de SignalR, ce qui illustre une approche de l’intégration Orleans à SignalR. Les mises à jour de l'appareil proviennent d'une passerelle d’appareil, implémentée à l'aide d'un dispositif distinct qui se connecte au service principal et simule plusieurs appareils se déplaçant de manière pseudo-aléatoire dans une zone de San Francisco.
Le suivi GPS montre
- Comment utiliser Orleans pour créer une application Internet des objets
- Comment Orleans peut être co-hébergé et intégré à ASP.NET Core SignalR
- Comment diffuser des mises à jour en temps réel d’un grain vers un ensemble de clients utilisant Orleans et SignalR
HanBaoBao
Application web de dictionnaire English-Mandarin illustrant le déploiement sur Kubernetes, les appels granulaires de dispersion et la limitation des requêtes.
HanBaoBao démontre
- Comment créer une application réaliste à l’aide de Orleans
- Comment déployer une application Orleanssur Kubernetes
- Comment intégrer Orleans avec ASP.NET Core et une application à page unique utilisant le framework JavaScript (Vue.js)
- Comment implémenter la limitation des demandes par seau qui fuit
- Comment charger et interroger des données à partir d’une base de données
- Comment mettre en cache les résultats de manière différée et temporaire
- Comment ramifier la distribution des demandes à de nombreux grains et collecter les résultats
Service de présence
Un service de présence pour les jeux, similaire à l’un des services basés sur les Orleans créés pour Halo. Un service de présence suit les joueurs et les sessions de jeu en quasi-temps réel.
Le service de présence montre
- Version simplifiée d’une utilisation réelle de Orleans
- Utilisation d'un observateur de grains (
IGrainObserver
) pour recevoir des notifications push de grains
Tic Tac Toe
Jeu Tic-tac-toe basé sur le web à l’aide de ASP.NET MVC, JavaScript et Orleans.
Tic Tac Toe montre
- Comment créer un jeu en ligne à l’aide de Orleans
- Comment créer un lobby de jeu basique
- Comment accéder aux grains Orleans à partir d’une application MVC ASP.NET Core
Vote
Capture d’écran
Application web pour voter sur un ensemble de choix. Cet exemple illustre le déploiement sur Kubernetes. L’application utilise l’hôte générique .NET pour co-héberger ASP.NET Core et Orleans, ainsi que le Orleans tableau de bord, ensemble dans le même processus.
Le vote démontre
- Comment déployer une application Orleanssur Kubernetes
- Comment configurer le tableau de bord Orleans
salle de conversation
Application de chat s'exécutant dans un terminal, créée à l’aide de Orleans Streams.
Salle de conversation montre
- Comment créer une application de conversation à l’aide de Orleans
- Comment utiliser Orleans Streams
Compte bancaire
Simule les comptes bancaires, à l’aide de transactions ACID pour transférer des montants aléatoires entre un ensemble de comptes.
Le compte bancaire illustre
- Comment utiliser les transactions Orleans pour effectuer en toute sécurité des opérations impliquant plusieurs grains avec état, avec des garanties ACID et une isolation sérialisée.
Blazor Server et Blazor WebAssembly
Ces deux exemples Blazor sont basés sur les didacticiels d'introduction Blazor , adaptés pour être utilisés avec Orleans. L’exemple Blazor WebAssembly utilise le modèle d’hébergement Blazor WebAssembly. L’exemple Blazor Server utilise le modèle d’hébergement Blazor Server. Ils incluent un compteur interactif, une liste TODO et un service Météo.
Exemples d’applications Blazor montrent
- Comment intégrer ASP.NET Core Blazor Server à Orleans
- Comment intégrer ASP.NET Core Blazor WebAssembly (WASM) à Orleans
Stocks
Application de prix boursier qui extrait les prix d’un service distant à l’aide d’un appel HTTP et met temporairement en cache les prix dans un grain. Un service d'arrière-plan scrute régulièrement les prix actualisés des actions à partir de divers grains correspondant à un ensemble de symboles boursiers.
L’exemple d’application Stocks montre
- Comment utiliser Orleans dans un BackgroundService.
- Comment utiliser des minuteurs dans un grain.
- Comment effectuer des appels de service externe à l’aide de . Net
HttpClient
et mettre en cache les résultats dans un grain.
Sécurité de la couche de transport
Application Hello, World! configurée pour utiliser une sécurité de la couche transport mutuelle pour sécuriser la communication réseau entre les différents serveurs.
Transport Layer Security montre
- Comment configurer l’authentification mutual-TLS (mTLS) pour Orleans
Visual Basic Bonjour le Monde
Une application Hello, World ! à l’aide de Visual Basic.
Visual Basic Hello World illustre
- Comment développer des applications basées sur des Orleansà l’aide de Visual Basic
F# Hello World
Un Hello, World! application utilisant F#.
F# Hello World montre
- Comment développer des applications basées sur des Orleansà l’aide de F#
Streaming : Flux Pub/Sub via Azure Event Hubs
Une application utilisant Orleans Streams avec Azure Event Hubs en tant que fournisseur et abonnés implicites.
Pub/Sub Streams montre
- Comment utiliser Orleans Streams
- Comment utiliser l’attribut
[ImplicitStreamSubscription(namespace)]
pour abonner implicitement un grain au flux avec l’ID correspondant - Comment configurer des flux Orleans à utiliser avec azure Event Hubs
Streaming : Adaptateur de données personnalisé
Une application utilisant des flux avec un acteur autre qu'un Orleans publisher poussant vers un flux qu'un grain consomme via un Orleans, qui indique à comment interpréter les messages de flux.
L’adaptateur de données personnalisé montre
- Comment utiliser Orleans Streams
- Comment utiliser l’attribut
[ImplicitStreamSubscription(namespace)]
pour abonner implicitement un grain au flux avec l’ID correspondant - Comment configurer des flux Orleans à utiliser avec azure Event Hubs
- Comment consommer des messages de flux publiés par des éditeurs nonOrleans en fournissant une implémentation de
EventHubDataAdapter
personnalisée (adaptateur de données personnalisé)