Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Olá, Mundo!
Um aplicativo Hello, World! que demonstra como criar e usar seus primeiros grãos.
O Olá, Mundo demonstra
- Como começar a usar Orleans
- Como definir e implementar uma interface de grãos
- Como obter uma referência a um grão e chamá-lo
carrinho de compras
Captura de tela
Um aplicativo de exemplo de carrinho de compras canônico criado usando a Microsoft Orleans. Este aplicativo mostra os seguintes recursos:
Carrinho de compras: um aplicativo de carrinho de compras simples usando Orleans para seu suporte de framework multiplataforma e capacidades de aplicativos distribuídos escaláveis.
- Gestão de Inventário: editar e/ou criar o inventário de produtos.
- Inventário da Loja: explore os produtos adquiríveis e adicione-os ao carrinho.
- Carrinho: exiba um resumo de todos os itens no carrinho e gerencie esses itens removendo ou alterando a quantidade de cada item.
O Carrinho de Compras demonstra
- Como criar uma experiência de carrinho de compras distribuído
- Como gerenciar a persistência de grãos no que diz respeito às atualizações de inventário ao vivo
- Como expor itens específicos do usuário que abrangem vários clientes
Aventura
Antes de interfaces gráficas do usuário, consoles de jogos e jogos multijogador maciços, havia terminais VT100 e jogos como Colossal Cave Adventure, Zork e Microsoft Adventure. Provavelmente fracos para os padrões de hoje, naquela época tudo isso era um mundo mágico de monstros, pássaros canoros e coisas que você poderia pegar. Este exemplo se inspira nesses jogos.
O Adventure demonstra
- Como estruturar um aplicativo (neste caso, um jogo) usando grãos
- Como conectar um cliente externo a um cluster Orleans (ClientBuilder)
Chirper
Um pub/subsistema de rede social em que os usuários enviam mensagens de texto curtas uns para os outros. Os editores enviam mensagens curtas de "Chirp" (para não serem confundidas com "Tweets" por várias razões legais) para qualquer outro usuário que os segue.
O Chirper demonstra
- Como criar um aplicativo de rede social/mídia social simplificado usando Orleans
- Como armazenar o estado em um grão usando persistência de grãos (IPersistentState<TState>)
- Grãos implementando interfaces de múltiplos grãos
- Grãos reentrantes, permitindo que várias chamadas de entidades sejam executadas simultaneamente em um único encadeamento, de forma intercalada.
- Como usar um observador de granularidade (IGrainObserver) para receber notificações por push da granularidade
Rastreador GPS
Um serviço para acompanhar dispositivos IoT equipados com GPS em um mapa. As localizações do dispositivo são atualizadas em quase tempo real com o uso do SignalR, demonstrando uma abordagem para integrar Orleans com o SignalR. As atualizações de dispositivo se originam de um gateway, implementado usando um processo separado que se conecta ao serviço principal e simula vários dispositivos se movendo pseudorandomicamente em torno de uma área de São Francisco.
O GPS Tracker demonstra
- Como usar Orleans para criar um aplicativo Internet das Coisas
- Como o Orleans pode ser co-hospedado e integrado ao SignalR do ASP.NET Core
- Como transmitir atualizações em tempo real de um grão para um conjunto de clientes usando Orleans e SignalR
HanBaoBao
Um aplicativo Web de dicionário English-Mandarin demonstrando a implantação no Kubernetes, chamadas de granulação e limitação de solicitação.
O HanBaoBao demonstra
- Como criar um aplicativo realista usando Orleans
- Como implantar um aplicativo baseado em Orleansno Kubernetes
- Como integrar Orleans ao ASP.NET Core e a um framework JavaScriptpara aplicativo de página única(Vue.js)
- Como implementar a limitação de solicitações de bucket de vazamento
- Como carregar e consultar dados de um banco de dados
- Como armazenar em cache os resultados de forma preguiçosa e temporária
- Como fazer fan-out de solicitações para um excesso de granularidade e coletar os resultados
Serviço de Presença
Um serviço de presença de jogos, semelhante a um dos serviços baseados no Orleans criados para o Halo. Um serviço de presença acompanha jogadores e sessões de jogo quase em tempo real.
O Presence Service demonstra
- Uma versão simplificada de um uso real de Orleans
- Como usar um observador de granularidade (IGrainObserver) para receber notificações por push da granularidade
Jogo da velha
logotipo
Um jogo Tic-tac-toe baseado na Web usando ASP.NET MVC, JavaScript e Orleans.
O jogo da velha demonstra
- Como criar um jogo online usando Orleans
- Como criar um sistema básico de lobby de jogos
- Como acessar a granularidade do Orleans em um aplicativo ASP.NET Core MVC
Votação
captura de tela
Um aplicativo Web para votação em um conjunto de opções. Este exemplo demonstra a implantação no Kubernetes. O aplicativo usa o host genérico .NET para co-hospedar ASP.NET Core e Orleans, bem como o Orleans Painel, juntos no mesmo processo.
Demonstrações de votação
- Como implantar um aplicativo baseado em Orleansno Kubernetes
- Como configurar o Painel do Orleans
sala de chat
Um aplicativo de chat baseado em terminal criado usando Orleans Streams.
O Sala de Chat demonstra
- Como criar um aplicativo de chat usando Orleans
- Como usar Fluxos do Orleans
Conta bancária
Simula contas bancárias, usando transações ACID para transferir valores aleatórios entre um conjunto de contas.
O Conta Bancária demonstra
- Como usar as Transações do Orleans para executar operações com segurança envolvendo vários tipos de granularidade com estado com garantias ACID e isolamento serializável.
Blazor Server e Blazor WebAssembly
Estes dois exemplos do Blazor se baseiam nos tutoriais introdutórios do Blazor, adaptados para uso com o Orleans. O exemplo do Blazor WebAssembly usa o modelo de hospedagem do Blazor WebAssembly. O exemplo Blazor Server usa o modelo de hospedagem Blazor Server. Eles incluem um contador interativo, uma lista TODO e um serviço de clima.
Os aplicativos de exemplo Blazor demonstram
- Como integrar o ASP.NET Core Blazor Server ao Orleans
- Como integrar ASP.NET Core Blazor WebAssembly (WASM) ao Orleans
Ações
Um aplicativo de preço de ações que busca preços de um serviço remoto usando uma chamada HTTP e armazena em cache os preços temporariamente em uma granularidade. Um BackgroundService pesquisa periodicamente os preços das ações atualizados de vários StockGrain grãos correspondentes a um conjunto de símbolos de ações.
O aplicativo de exemplo Ações demonstra
- Como usar o Orleans em um BackgroundService.
- Como usar temporizadores em uma granularidade.
- Como fazer chamadas de serviço externo usando o
HttpClientdo . NET e armazenar os resultados em cache em uma granularidade.
Segurança da camada de transporte
Um aplicativo Olá, Mundo! configurado para usar o protocolo TLS mútuo para proteger a comunicação de rede entre cada servidor.
O TLS demonstra
- Como configurar a autenticação mutual TLS (mTLS) para Orleans
Visual Basic Hello World
Um aplicativo Olá, Mundo! que usa o Visual Basic.
Demonstrações do Visual Basic Hello World
- Como desenvolver aplicativos baseados em Orleansusando o Visual Basic
F# Olá, Mundo
Um aplicativo Olá, Mundo! que usa o F#.
O Olá, Mundo F# demonstra
- Como desenvolver aplicativos baseados em Orleansusando F#
Streaming: fluxos publicação/assinatura nos Hubs de Eventos do Azure
Um aplicativo que usa os Fluxos do Orleans com os Hubs de Eventos do Azure como o provedor e os assinantes implícitos.
Demonstrações de Fluxos de pub/sub
- Como usar Fluxos do Orleans
- Como usar o atributo
[ImplicitStreamSubscription(namespace)]para assinar implicitamente uma granularidade no fluxo com a ID correspondente - Como configurar o Fluxos do Orleans para uso com os Hubs de Eventos do Azure
Streaming: Adaptador de Dados Personalizados
Um aplicativo que utiliza Orleans Streams com um publicador não padrão, enviando dados para um fluxo que um grain consome por meio de um Orleans, indicando como interpretar as mensagens do fluxo.
O Adaptador de Dados Personalizado demonstra
- Como usar Fluxos do Orleans
- Como usar o atributo
[ImplicitStreamSubscription(namespace)]para assinar implicitamente uma granularidade no fluxo com a ID correspondente - Como configurar o Fluxos do Orleans para uso com os Hubs de Eventos do Azure
- Como consumir mensagens de fluxo publicadas por editores que não são do Orleans fornecendo uma implementação personalizada de
EventHubDataAdapter(um adaptador de dados personalizado)