Предварительная загрузка переводов из базы данных перед загрузкой Silverlight - PullRequest
2 голосов
/ 15 января 2010

Мы храним строки локализации в базе данных. Локализация необходима для многоязычного приложения, которое мы создаем. Уровень данных находится за службой WCF, и все данные поступают через этот канал WCF.

Нам нужно загрузить переводы, прежде чем приложение Slivlerlight появится в браузере пользователя. Таким образом, предварительная загрузка данных с помощью этого является наиболее логичным путем. Но асинхронные вызовы Silverlight затрудняют загрузку строк перевода из базы данных, поскольку результат загружается после загрузки Silverlight.

Есть ли способ решить эту проблему?

Ответы [ 2 ]

3 голосов
/ 15 января 2010

Я вижу два решения проблемы:

  1. Если вы действительно хотите загрузить данные еще до того, как приложение Silverlight появится в браузере, тогда единственный способ сделать это - передать данные до того, как Silverlight будет встроен. В этом случае вы можете использовать AJAX для извлечения данных, а затем динамически добавлять объект SL в DOM , передавая параметры. Это довольно хлопотно, хотя по моему мнению.
  2. Как насчет сокрытия вашего приложения (превращение главной таблицы или контейнера в Visiblilty = "Collapsed") до тех пор, пока приложение SL не получит данные . Установите таймер, чтобы динамически проверять, загружены ли данные и масштабировать, вот оно у вас.
1 голос
/ 18 января 2010

Я обнаружил, что загрузка напрямую из базы данных не является правильным способом решения проблемы локализации - перевода.Переводы - это то, что не слишком изменяет, поэтому я использую файл XML для хранения переводов.Этот XML-файл является встроенным ресурсом и генерируется из базы данных каждый раз, когда добавляются новые переводы.

Таким образом, у меня больше нет проблем с загрузкой асинхронных вызовов ширины данных.

Спасибо за ответ ...

...