none
Session et WCF RRS feed

  • Question

  • Bonjour ,

    En résumer :
    Comment déclarer et utiliser une session WCF fonctionnant avec différents type de clients (ASP, sliverlight, windowsform, ...) ?

    En détail :
    Je débute en WCF (3 jours que je test) et j'ai un "petit" soucis (au niveau des sessions).

    Alors, déjà j'ai découvert/fait (peut être que j'aurais mal compris ou que l'idéale est de faire différemment, si c'est le cas n'hésitez pas à me corriger ) :



    Comme ce mini schéma l'indique je connecte mon serveur depuis "n" clients en utilisant différentes technologies (ASP, silverlight, WindowsForm, ...). Ce qui est l'objectif du WCF (enfin sauf si je n'ai rien compris ).

    Pour info je fais la majeur partie de mes tests avec un client WindowsForm.

    J'arrive à :
    - Connecter mon serveur (c'est déjà pas mal )
    - Utiliser des fonctions déclarées directement dans le WCF ou déclarer dans une DLL "serveur" (exposé à l'aide du WCF).
    - Utiliser un objet unique pour tous mes clients (en déclarant cet objet en public dans une classe statique, un module en VB.NET, dans ma DLL "serveur")

    Ce qui me manque maintenant c'est de réussir à utiliser un objet unique par client (soit "n" clients connecté = "n" objets construit/maintenu).

    J'aurais bien une solution qui consisterais à :
    - Appeler une fonction "Début" au début de la connexion, qui retournerais un ID à mon client (ID renvoyer au WCF/Serveur à chaque échange) et créer un objet dans une collection stocker sur mon serveur.
    - Une fonction/procédure "End" qui détruirais cet objet.

    Sauf que cette solution ne me plais pas (mais alors pas du tout). Car si mon client plante, se fait déconnecter d'internet, ... Mon serveur ne recevrais jamais cette fonction/procédure "End". Résultat je risquerais de saturer la mémoire de mon serveur plus ou moins rapidement. Et je ne parle pas de la FAIBLE sécurité de cette façon de faire.

    J'ai vue sur le Web que pour faire ce que je veux il faut créer une session. Dans le cas d'un client ASP par exemple, on utilise des cookies pour maintenir la session. Le résultat étant qu'on sécurise la connexion et surtout qu'on évite de "perdre" les données des objets déclarés dans le WCF.

    Ma question est donc :
    Comment déclarer et utiliser une session WCF fonctionnant avec différents type de clients (ASP, sliverlight, windowsform, ...) ?

    PS :
    - Je ne pense pas qu'il soit utile que je donne mon code de test. Au besoin je le ferais.

    Encore une fois j'aurais tapé un pavé

    Amicalement
    1000 recherches sur Google = 1Km de voiture en CO² (réfuté par Google )
    1000 recherches sur Forestle = 100 m² de forêt tropicale sauvé .
    Surfez écolo

    :) Amicalement :)
    • Déplacé Ciprian Duduiala mercredi 7 décembre 2011 07:17 question de WCF (Origine :Développement Web (en général))
    mardi 6 décembre 2011 15:35