Blazor : Blazor Hosted et problème de CurrentCulture

Sous ce titre un peu cryptique, un problème qui nous est arrivé récemment :

Nous développons une application en Blazor Hosted (une app cliente WASM + une app serveur ASP.NET Core) récupérant la Culture - et la Currency - de l'utilisateur.

L'utilisateur se connecte au site Web, on récupère ces infos via :

Hélas, problème récurrent : ça fonctionne correctement en DEBUG local, mais lorsqu'on publie sur Azure, on récupère invariablement :

  • En-us pour la CurrentCulture
  • USD pour la Currency

Même si la région Azure n'est pas aux Etats-Unis. La solution ? Pour utiliser la localisation (et la Culture) dans Blazor, en fait, il faut le déclarer...Ainsi, dans le projet Server, éditez le fichier Program.cs et ajoutez la ligne :

// Localization
builder.Services.AddLocalization();

Pour être sur, éditez le fichier .csproj et ajoutez la section suivante :

<PropertyGroup>
  <InvariantGlobalization>false</InvariantGlobalization>
</PropertyGroup> 

Ceinture et bretelles.

A partir de là, vous devriez bien récupérer les paramètres locaux corrects depuis le poste de l'utilisateur.