2009-04-20 10 views
1

J'ai certaines chaînes qui contiennent des caractères spéciaux et ne peuvent donc pas être partagées en tant que membres enum sur un service WCF. (En fait, ce sont des clés pour les valeurs de configuration.)Partage de constantes sur un service WCF

Je souhaite pouvoir passer les clés côté client et récupérer les valeurs de configuration. S'il y a un changement, je veux seulement changer les clés de configuration à un endroit.

Les constantes seraient idéales, car elles peuvent être modifiées en tant que références fortes dans toute la solution, et la valeur de sous-couche pourrait être mise à jour avec une mise à jour de référence de service.

Actuellement, je peux penser à deux solutions possibles:

  1. Créer un ensemble partagé et placez-les constantes il
  2. Partager les constantes à travers le service.

Le problème est, je ne peux pas obtenir le datacontreraserializer pour sérialiser les constantes. Est-ce possible? L'assemblage partagé est-il la seule option que j'ai?

Répondre

2

Si c'était moi, je conserverais mes valeurs de configuration dans un fichier de configuration externe. Vous pouvez stocker les paires clé/valeur dans le fichier de configuration, puis autoriser tous vos assemblys à accéder au fichier. De cette façon, les valeurs de configuration peuvent être modifiées sans re-compiler vos assemblées, et peuvent être accessibles à partir de n'importe lequel de vos services simultanément.

+0

Je suis d'accord avec justin si elles sont susceptibles de changer, sinon aller avec l'assemblage partagé que le nombre d'objets que vous partagerez dans le futur est susceptible d'augmenter. – Tanner

Questions connexes