GetObject для meta:resourcekey не вызывается в IResourceProvider
Мне нужно переместить файлы.resx сайта в базу данных и реализовать пользовательский поставщик ресурсов, используя IResourceProvider
интерфейс. Я следовал примеру в:
http://msdn.microsoft.com/en-us/library/system.web.compilation.iresourceprovider.aspx
Когда я звоню:
this.GetLocalResourceObject("myResourceKey.Text")
GetObject
метод в IResourceProvider
называется правильно.
Однако весь сайт использует meta:resourcekey="myResourceKey"
атрибуты для всех меток, а также GetObject
метод не вызывается для них. Других методов в IResourceProvider
что я вижу, чтобы реализовать, есть ли что-то, что я пропускаю, или есть другой способ, которым я могу переместить данные.resx в БД и не вносить никаких изменений в представление, т.е. все еще продолжать использовать meta:resourcekey
атрибутов.
Большое спасибо
1 ответ
Я нашел статьи MSDN, касающиеся локализации, не хватает информации. Ознакомьтесь с реализацией Rick Strahl специального провайдера ресурсов по адресу:
http://www.west-wind.com/presentations/wwdbResourceProvider/
а также
https://github.com/RickStrahl/Westwind.Globalization
Он подробно объясняет процесс, который он предпринял при написании своего провайдера ресурсов, и это должно дать вам хорошее начало