2011-05-24 5 views
3

J'ai une application pour une entreprise énorme, qui a besoin de nombreuses pages, contrôles, etc. Le fichier .xap va facilement jusqu'à 50MB. Je remarque qu'à chaque fois que je charge la page, le fichier .xap est téléchargé sur mon ordinateur local. Cependant, mes utilisateurs peuvent utiliser le réseau 3G pour se connecter, donc cela doit être très lent si nous téléchargeons l'application à chaque fois qu'ils ouvrent la page. Donc je me demandais s'il y avait un moyen de faire le déploiement similaire à WPF, qui ne télécharge en local que lorsque la version est changée ....Silverlight déploiement au navigateur

Toute autre suggestion pour améliorer la vitesse de chargement est la bienvenue.

Merci beaucoup

+0

vous aviez réellement envie de configurer votre serveur Web pour mettre en cache le fichier XAP; ce serait le chemin à parcourir. –

Répondre

3

d'abord et pour la plupart obtenir vos en-têtes de mise en cache du serveur web triés. Généralement, vous ouvrez le dossier ClientBin dans le Gestionnaire des services Internet et entrez la section En-tête de réponse HTTP. Définir l'expiration à quelque chose comme 1 jour (ou si vous mettez à jour pendant les heures normales de travail mis à 15 minutes). Notez simplement que le contenu expire ne signifie pas qu'il sera re-téléchargé, mais cela signifie qu'il sera mis en cache avant d'être utilisé. Le navigateur informera le serveur de la version qu'il a actuellement s'il a expiré permettre au serveur de répondre simplement avec "allez-y et utilisez le fait qu'il n'a pas changé depuis la dernière fois que vous avez vérifié".

Pour un système aussi vaste, vous devriez sérieusement envisager de diviser l'application en plusieurs projets dll. Utilisez ensuite la fonctionnalité de mise en cache de la bibliothèque d'applications dans les propriétés principales du projet apps. Vous devez créer les fichiers .extmap.xml appropriés pour chacune de vos DLL. La plupart des dll SDK et Toolkit les ont déjà. Cela entraîne des fichiers .zip distincts pour ces DLL placés dans le dossier ClientBin et non incorporés dans un grand XAP. Cela vous permet de séparer le code de mouvement lent/ne changeant jamais dans un ensemble de zips et de changer plus fréquemment le code de l'entreprise en un autre ensemble. Lorsque vous mettez à jour l'application, vous ne mettez à jour que les zips modifiés, ce qui réduit le fardeau de téléchargement d'une nouvelle version. (Notez que cela ne fonctionne qu'avec les applications basées sur inbrowser).

1

Dans l'option projet serverlight, cochez la case Réduire la taille XAP à l'aide de la mise en cache de la bibliothèque d'applications.

enter image description here

Questions connexes