2

J'utilise SqlMembershipProvider pour effectuer la gestion des utilisateurs de mon site Web ASP.NET. En particulier, le site doit être multilingue (globalisé!). Lorsque je crée des utilisateurs avec Membership.CreateUser, il est bon que j'obtienne des exceptions pour les courriels en double, les noms d'utilisateur en double, etc. Mais je veux réutiliser ce texte d'exception en le localisant dans la culture de threads actuelle.La globalisation des exceptions d'adhésion n'a pas lieu ... Que faire?

Je suis certain que je suis en train de paramétrer correctement la culture UI du thread, etc. car toutes les autres fonctions de globalisation sont entièrement fonctionnelles.

J'étais sous l'impression que tous les textes d'exception .NET Framework étaient globalisés. Ne sont-ils pas ???

En particulier, je teste pour le français. Je pense avoir installé avec succès le module linguistique français .NET 3.5 SP1 (mais pas certain - y a-t-il un moyen de vérifier !?) en suivant les instructions de here.

Est-il possible que seules les exceptions System.Web.Security.Membership ne soient pas localisées? Ou est-ce que je manque une étape de configuration d'environnement?

Toute aide serait géniale.

Andrew.

Répondre

1

Les messages d'exception ne sont pas localisés.

Vous devez les localiser votre auto en utilisant les codes d'erreur:

Public Shared Function ErrorCodeToString(_ 
        ByVal createStatus As MembershipCreateStatus) As String 
    Select Case createStatus 
     Case MembershipCreateStatus.DuplicateUserName 
      Return Resources.Resource.Account_DuplicateUserName 

     Case MembershipCreateStatus.DuplicateEmail 
      Return Resources.Resource.Account_DuplicateEmail 

     ... 

Voir this MSDN link pour une liste complète des codes d'état.