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.