XAF – Deploy ASP.NET Core Blazor Server Apps to Azure, Linux with Nginx or Windows with IIS or macOS with Electron

XAF Team Blog
19 October 2020

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:

  1. The default option with no additional settings and no WebSockets.
  2. Application Request Routing (ARR).
  3. 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: 

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

Need Faster Support Replies?

Once you create a new XAF ticket in the DevExpress Support Center and select XAF under the Platform/Product field, please review the following help links displayed above the Submit button. These links describe how you can collect callstacks, logs and other important diagnostic information for any .NET error. Once you collect/compile this information, forward it to us along with your support ticket. This information will ensure faster and more accurate replies from support.

Paul Kubb
Paul Kubb
could you please elaborate more on ARR part how does xaf blazor application involve with load balancing?
7 December 2020
Dennis (DevExpress)
Dennis (DevExpress)
@Paul Kubb: This is not specific to XAF's Blazor UI. You can find more information in the following Microsoft documentation: Application Request Routing (ARR). Please let us know if you experience any XAF-related issues.
7 December 2020

Please login or register to post comments.