IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Silverlight Discussion :

Silverlight Out-Of-Browser Singleton


Sujet :

Silverlight

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2010
    Messages : 21
    Par défaut Silverlight Out-Of-Browser Singleton
    Bonjour à tous,
    L'application Silverlight que je suis en train de développer est complètement dirigée par le framework de navigation.
    Je trouve cela très pratique car on peut ainsi renvoyer les utilisateurs via email vers des "pages" précises de l'application.
    Néanmoins, charger une application peut rapidement prendre du temps (quoi qu'on en dise) et les utilisateurs n'aiment pas trop cela (c'est un fait).

    Dès lors, j'envisage de leur proposer un deuxième lien qui permettrait d'exécuter l'application en mode out-of-browser.
    A priori, tout fonctionne de ce côté là aussi.

    L'avantage en out-of-browser, c'est le chargement instantané de l'application, il est bien plus rapide que dans les navigateurs (je n'ai pas encore compris pourquoi...?).
    En contre partie, l'application se charge à chaque appel d'exécution or je ne souhaite pas charger plusieurs fois cette application en mémoire,
    je souhaite que lors de la demande d'exécution, les paramètres soient transmis à l'application en cours (si déjà ouverte).


    Quelqu'un a-t-il déjà travaillé à cette fonctionnalité?
    J'imagine que ça peut fonctionner en posant un hook sur un fichier partagé dans le localstorage mais je préfère m'enquérir de votre expérience avant de m'y attaquer.
    Peut-être est-ce une fonctionnalité "out the box"?
    Eventuellement, vous connaissez un projet qui propose cette fonctionnalité?
    sinon, l'idée du hook est-elle bien la voie à suivre?


    Merci d'avance pour votre feedback.

  2. #2
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Par défaut
    En out-of-browser le chargement est plus rapide car l'application est installé sur le disque dur de l'ordinateur, donc pas besoin de charger le xap depuis le site internet.

    Pour l'instance unique je suppose qu'il faut utiliser une technique similaire à celle utilisée pour les applis client lourd: la première appli qui se lance crée un mutex. Quand la deuxième se lance elle vérifie si un mutex n'existe pas déjà, auquel cas elle transmet ses paramètres de lancement à la première (via un canal de communication type remoting) et se ferme. Le première appli récupère les paramètres de la deuxième et affiche l'écran correspondant.

    Pour Silverlight tu peux essayer d'utiliser l'API LocalMessageReceiver qui permet à deux appli SL de communiquer entre elles. Si un canal de communication est déjà ouvert alors ça signifie qu'une autre appli est déjà lancée.

    Il y a un exemple ici:
    http://www.tozon.info/blog/post/2009...plication.aspx
    Les règles du forum
    Le trio magique : FAQ + Cours + fonction rechercher
    Mes articles
    Pas de questions par messages privés svp

    Software is never finished, only abandoned.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2010
    Messages : 21
    Par défaut merci ;)
    Citation Envoyé par The_badger_man Voir le message
    En out-of-browser le chargement est plus rapide car l'application est installé sur le disque dur de l'ordinateur, donc pas besoin de charger le xap depuis le site internet.
    à mon sens, c'est le même scénario pour les deux:
    1. vérifier si la version en cache est la même que celle en ligne --> le browser comme le out of browser se basent sur le protocole HTTP avec l'entête "last-modified"
    2. si c'est le cache, charger sinon télécharger la mise à jour.
    3. si out of browser, redémarrage nécessaire; sinon rechargement automatique par le navigateur.

    --> avec cette logique, je ne comprend toujours pas pourquoi ce travail est plus long sur le navigateur qu'en out of browser. Peut-être me suis-je trompé dans l'analyse?

    Citation Envoyé par The_badger_man Voir le message
    Pour l'instance unique je suppose qu'il faut utiliser une technique similaire à celle utilisée pour les applis client lourd: la première appli qui se lance crée un mutex. Quand la deuxième se lance elle vérifie si un mutex n'existe pas déjà, auquel cas elle transmet ses paramètres de lancement à la première (via un canal de communication type remoting) et se ferme. Le première appli récupère les paramètres de la deuxième et affiche l'écran correspondant.

    Pour Silverlight tu peux essayer d'utiliser l'API LocalMessageReceiver qui permet à deux appli SL de communiquer entre elles. Si un canal de communication est déjà ouvert alors ça signifie qu'une autre appli est déjà lancée.

    Il y a un exemple ici:
    http://www.tozon.info/blog/post/2009...plication.aspx
    Intéressant, cela résout rapidement et efficacement le problème des instances multiples. Concernant la fermeture de l'application, j'avais cru comprendre que ce n'état pas possible par programmation, me serais-je trompé? ce serait vraiment bien...

Discussions similaires

  1. silverlight Out-of-Browser application
    Par midialzer dans le forum Silverlight
    Réponses: 3
    Dernier message: 06/03/2013, 13h54
  2. Ecran blanc en mode out of browser
    Par offspring dans le forum Silverlight
    Réponses: 10
    Dernier message: 06/01/2011, 11h29
  3. Application Out Of Browser Multiple
    Par smerek dans le forum Silverlight
    Réponses: 14
    Dernier message: 18/10/2010, 08h33
  4. Réponses: 2
    Dernier message: 22/09/2010, 13h43
  5. C# Silverlight out of Browser
    Par nokia1600 dans le forum Silverlight
    Réponses: 16
    Dernier message: 20/05/2010, 11h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo