Dans une application de service client typique, où le service est WCF, comment utiliser la référence de service? Par exemple, instanciez-vous le service séparément pour chaque appel, ou en ouvrez-vous un et conservez-le pendant la durée de vie de l'application cliente? (quand je fais référence à 'instatiser service', je veux dire instancier l'objet service créé par svcutil)Client WCF - quand le client doit-il fermer le canal
Pour l'instant nous avons utilisé une instance de service sur le client, parce que cela semblait plus rapide que de toujours créer, ouvrir et fermer le service pour chaque et chaque appel, mais maintenant je me promène si c'était OK? Le principal problème que nous avons avec cette approche est que les timeouts se produisent (ou nous devons avoir des sessions ouvertes pendant 10h), les interruptions de connexion etc, et nous devons toujours faire 'IsAlive' via le canal pour nous assurer que tout va bien ...
Si cela est pertinent, l'application est à thread unique, et l'authentification est personnalisée (en insérant des jetons auth dans l'en-tête). La liaison est basicHttp (ou ws, n'a pas vraiment d'importance pour ce cas).
Et comment gérez-vous la sécurité? Nous nous authentifions avant d'ouvrir un canal ... ou considérez-vous simplement que les appels de service à l'intérieur de votre réseau sont sécurisés sans authentification? – veljkoz
Comme dit veljkoz si vous avez le canal sécurisé, alors chaque initialisation du proxy client est très lourde. L'appel de plusieurs méthodes va améliorer les performances. – Artru