2009-11-16 3 views
0

J'ai un service WCF écrit. Je veux qu'il prenne quelques "paramètres globaux" au démarrage. Le service WCF fonctionnera sous IIS.Est-ce la façon correcte de configurer les "Paramètres globaux" dans WCF Serviced, livré via IIS

Voici comment je le fais, mais je veux m'assurer que c'est la bonne façon. Un expert peut-il commenter?

  1. Je mets les données pertinentes dans web.config. Maintenant je ne crois pas que je peux accéder à ceci dans ma classe de WCF en tant que telle, ainsi ...

  2. J'ai créé un fichier Global.asax, et dans sa méthode Application_Start, j'ai lu dans les données appropriées dans un objet, que je place dans le AppDomain en utilisant AppDomain.CurrentDomain.SetData("MySettings", settingsObj);

  3. Ensuite, dans ma classe d'implémentation de service WCF, j'ai un constructeur statique. Ce lit l'objet global pertinent du AppDomain en utilisant AppDomain.CurrentDomain.GetData("MySettings");

Tout cela semble fonctionner, mais je me demande si cela est la bonne façon? Je comprends pourquoi l'implémentation du service WCF n'a pas accès au HttpContext.

Merci, Dermot.

Répondre

0

Je ne voudrais pas utiliser les méthodes GetData et SetData. Lorsque j'ai besoin des valeurs, je voudrais simplement les extraire du fichier de configuration avec ConfigurationManager.AppSettings["your_key"], ou les injecter dans le constructeur de l'instance de service en implémentant un IInstanceProvider personnalisé.

+0

Mon objet Paramètres est quelque chose que j'ai lu à partir d'un fichier XML dans Application_Start. C'est un objet complexe, pas seulement une chaîne, donc je ne crois pas pouvoir le mettre dans AppSettings – dermdaly

Questions connexes