Глобализация исключений членства не происходит ... Что делать? - PullRequest
2 голосов
/ 04 ноября 2008

Я использую SqlMembershipProvider для управления пользователями моего веб-сайта ASP.NET. В частности, сайт должен быть многоязычным (глобализированным!).

Когда я создаю пользователей с помощью Membership.CreateUser, хорошо, что я получаю исключения для таких вещей, как дублирующиеся электронные письма, дублирующие имена пользователей и т. Д. Но я хочу повторно использовать этот текст исключения, локализовав его в текущей культуре потоков.

Я уверен, что правильно устанавливаю текущую культуру пользовательского интерфейса потока и т. Д., Поскольку все остальные функции глобализации полностью функциональны.

У меня сложилось впечатление, что все тексты исключений .NET Framework были глобализированы. Разве они не

В частности, я тестирую на французском языке. Я думаю, что я успешно установил французский языковой пакет .NET 3.5 SP1 (но не уверен - есть ли способ проверить !?), следуя инструкциям из здесь .

Возможно ли, что только исключения System.Web.Security.Membership не локализованы? Или я пропускаю шаг настройки среды?

Любая помощь будет отличной.

Эндрю.

1 Ответ

1 голос
/ 29 октября 2009

Сообщения об исключениях не локализованы.

Вы должны самостоятельно локализовать их, используя коды ошибок:

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

        ...

См. эту ссылку MSDN для полного списка кодов состояния.

...