[!IMPORTANT] This sample has moved and this repository will be archived. Use the actively maintained Azure App Service deployment sample in
dotnet/orleansinstead. See the current deployment guidance for Windows or Linux.
A canonical shopping cart sample application, built using Microsoft Orleans. This app shows the following features:
Shopping cart: A simple shopping cart application that uses Orleans for its cross-platform framework support, and its scalable distributed applications capabilities.

The app is architected as follows:

git clone https://github.com/Azure-Samples/Orleans-Cluster-on-Azure-App-Service.git orleans-on-app-servicecd orleans-on-app-servicedotnet run --project Silo\Orleans.ShoppingCart.Silo.csprojProduct management is restricted to Microsoft Entra users assigned the
ProductAdministrator app role. Local runs do not receive the trusted
X-MS-CLIENT-PRINCIPAL header from Azure App Service, so the product management
page remains unavailable locally by default.
Before deploying, create a Microsoft Entra app registration with:
https://<app-name>.azurewebsites.net/.auth/login/aad/callback.
Register the corresponding staging-slot callback URI if the staging slot is
used.ProductAdministrator, assigned only to catalog
administrators.Configure these repository-level GitHub Actions secrets:
AUTHENTICATION_TENANT_ID, AUTHENTICATION_CLIENT_ID, and
AUTHENTICATION_CLIENT_SECRET. The deployment enables App Service
Authentication while leaving the storefront anonymous. The application only
shows and permits product management when App Service supplies an authenticated
principal with the ProductAdministrator role.
The Orleans.ShoppingCart.Silo project uses the following open 3rd party-source projects:
Derived from IEvangelist/orleans-shopping-cart.
C#
61.7%
HTML
33.4%
CSS
4.9%
[!IMPORTANT] This sample has moved and this repository will be archived. Use the actively maintained Azure App Service deployment sample in
dotnet/orleansinstead. See the current deployment guidance for Windows or Linux.
A canonical shopping cart sample application, built using Microsoft Orleans. This app shows the following features:
Shopping cart: A simple shopping cart application that uses Orleans for its cross-platform framework support, and its scalable distributed applications capabilities.

The app is architected as follows:

git clone https://github.com/Azure-Samples/Orleans-Cluster-on-Azure-App-Service.git orleans-on-app-servicecd orleans-on-app-servicedotnet run --project Silo\Orleans.ShoppingCart.Silo.csprojProduct management is restricted to Microsoft Entra users assigned the
ProductAdministrator app role. Local runs do not receive the trusted
X-MS-CLIENT-PRINCIPAL header from Azure App Service, so the product management
page remains unavailable locally by default.
Before deploying, create a Microsoft Entra app registration with:
https://<app-name>.azurewebsites.net/.auth/login/aad/callback.
Register the corresponding staging-slot callback URI if the staging slot is
used.ProductAdministrator, assigned only to catalog
administrators.Configure these repository-level GitHub Actions secrets:
AUTHENTICATION_TENANT_ID, AUTHENTICATION_CLIENT_ID, and
AUTHENTICATION_CLIENT_SECRET. The deployment enables App Service
Authentication while leaving the storefront anonymous. The application only
shows and permits product management when App Service supplies an authenticated
principal with the ProductAdministrator role.
The Orleans.ShoppingCart.Silo project uses the following open 3rd party-source projects:
Derived from IEvangelist/orleans-shopping-cart.
C#
61.7%
HTML
33.4%
CSS
4.9%