La globalización de las excepciones de membresía no está teniendo lugar & # 8230; ¿Qué hacer?
-
06-07-2019 - |
Pregunta
Estoy usando SqlMembershipProvider para llevar a cabo la gestión de usuarios de mi sitio web ASP.NET. En particular, el sitio debe ser multilingüe (¡globalizado!).
Cuando creo usuarios usando Membership.CreateUser, es bueno que obtenga excepciones para cosas como correos electrónicos duplicados, nombres de usuario duplicados, etc. Pero lo que quiero es reutilizar ese texto de excepción al tenerlo localizado en la cultura actual del hilo.
Estoy seguro de que estoy configurando la cultura actual de la interfaz de usuario del hilo correctamente, etc., ya que todas las demás características de globalización son completamente funcionales.
Tenía la impresión de que todos los textos de excepción de .NET Framework estaban globalizados. ¿No son ???
En particular, estoy haciendo pruebas de francés. Creo que instalé correctamente el paquete de idioma francés .NET 3.5 SP1 (pero no estoy seguro, ¿hay alguna forma de verificarlo?) Siguiendo las instrucciones de aquí .
¿Es posible que solo las excepciones System.Web.Security.Membership no estén localizadas? ¿O me falta un paso de configuración del entorno?
Cualquier ayuda sería genial.
Andrew.
Solución
Los mensajes de excepción no están localizados.
Debe localizarlos usted mismo utilizando los códigos de error:
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
...
Consulte este enlace MSDN para una lista completa de códigos de estado.