XAF – Deploy ASP.NET Core Blazor Server Apps to Azure, Linux with Nginx or Windows with IIS or macOS with Electron
Azure Deployment
As you may already know, XAF's Blazor Server UI can be deployed to Azure. If you are new to Azure, please refer to the following Microsoft deployment topic: Host and deploy ASP.NET Core Blazor Server. Popular Azure deployment options include:
- The default option with no additional settings and no WebSockets.
- Application Request Routing (ARR).
- Azure SignalR Service. This option is supported in v20.2.3 (RTM) and requires additional setup in the SolutioName.Blazor.ServerSide/Startup.cs file. Note that the ProxyHubConnectionHandler class is available in the Blazor demo (C:\Users\Public\Documents\DevExpress Demos 20.2\Components\eXpressApp Framework\MainDemo.Blazor\CS\MainDemo.Blazor.ServerSide\Services\ProxyHubConnectionHandler.cs) included in our Unified Component Installer.
public void ConfigureServices(IServiceCollection services) { services.AddSingleton( typeof(HubConnectionHandler<>), typeof(ProxyHubConnectionHandler<>) ); //... }
With v21.1.4, if you miss this important setting, you may receive the following error message:"ValueManagerStorageAccessor.Storage is null likely due to incorrect Azure SignalR Service or Blazor application settings".
Windows and Linux Deployment
Should you prefer Windows with IIS or Linux with Nginx, a number of XAF customers successfully deployed XAF's Blazor in these hosting environments. You may find these additional community resources helpful:
- Deploy Blazor App on Ubuntu (Support Center Ticket)
- XAF in Linux (Video by Joche Ojeda)
- Monitor XAF's Blazor App on Ubuntu (Video by Joche Ojeda)
- XAF Blazor load test with 100 clients (Video by Joche Ojeda)
When you deploy your Blazor apps to IIS, make certain to activate the following features: WebSocket Protocol and Sticky sessions with Application Request Routing (often forgotten by developers). BTW, our online Blazor demo is hosted on IIS: https://demos.devexpress.com/XAF/BlazorDemo/

Cross-Platform Desktop Apps with Electron.NET
You can build cross platform desktop apps with ASP.NET Core (Razor Pages, MVC, Blazor). Electron.NET is a wrapper around a "normal" Electron application with an embedded ASP.NET Core application. The current Electron.NET CLI builds Windows/macOS/Linux binaries.
For more information, see https://github.com/ElectronNET/Electron.NET and watch the following video by Joche Ojeda: XAF with Electron for Windows, MacOS and Linux.