2010-01-15 15 views
2

Nous stockons des chaînes de localisation dans la base de données. La localisation est nécessaire pour les applications multilingues que nous construisons. La couche de données est derrière le service WCF et toutes les données sont transmises par ce canal WCF.Précharger les traductions de la base de données avant le chargement de Silverlight

Nous devons charger les traductions avant que l'application Slivlerlight n'apparaisse dans le navigateur de l'utilisateur. Donc, le préchargement des données avec ceci est le chemin le plus logique à parcourir. Mais les appels asynchrones Silverlight me donnent du mal à charger des chaînes de traduction à partir de la base de données, car le résultat est chargé après les charges Silverlight.

Existe-t-il un moyen de résoudre ce problème?

Répondre

1

J'ai trouvé que charger directement à partir de la base de données n'est pas la bonne façon de résoudre le problème de localisation - traduction. Les traductions sont quelque chose qui ne change pas trop, donc Im en utilisant le fichier XML pour stocker les traductions. Ce fichier XML est une ressource incorporée, et il est généré à partir de la base de données chaque fois que de nouvelles traductions sont ajoutées. De cette façon, je n'ai plus de problème à charger des appels asynchrones de largeur de données.

Merci pour la réponse ...

3

Je vois deux solutions au problème:

  1. Si vous voulez vraiment charger des données avant même l'application Silverlight apparaît dans le navigateur alors la seule façon de le faire est de transmettre les données avant Silverlight est embeded . Dans ce cas, vous pouvez utiliser AJAX pour extraire les données, puis ajouter dynamiquement l'objet SL au DOM qui transmet les paramètres. C'est assez compliqué à faire à mon avis.
  2. Que diriez-vous cacher votre application (rendant le réseau principal ou d'un conteneur à Visiblilty = « Effondrement ») jusqu'à l'application SL va chercher les données. Réglez une minuterie pour vérifier dynamiquement si les données ont chargé et zoom, là vous l'avez.
+0

Solution 2. semble intéressante Je vais essayer, mais ce n'est pas propre comme je l'espérais. – zidane