Я использую аннотации данных для проверки адреса электронной почты.
Чтобы показать сообщение об ошибке, когда адрес электронной почты недействителен, я использую файл RESX с именем ErrorMessages.
Мой код такой:
public class EmailAdressAttribute : RegularExpressionAttribute
{
public EmailAdressAttribute()
: base(@"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,3}|[0-9]{1,4})(\]?)$")
{
ErrorMessage = ErrorMessages.ValidateEmailAdress;
}
Когда я переключаюсь на язык (текущую культуру) моего приложения asp.net mvc при запуске приложения, старый язык все еще отображается.
После отладки я обнаружил, что конструктор дляэтот атрибут вызывается только один раз (когда я использую его впервые).
Как кэшируется атрибут?Как я могу показать правильное сообщение об ошибке из файла ресурсов?