2009-11-26 4 views
3

J'ai parcouru les pages et trouvé juste des tonnes de pages sur la façon de configurer une configuration de service WCF qui n'est pas ce que je veux. Fondamentalement, j'ai une classe de fabrique dans mon service qui lit une propriété personnalisée à partir du fichier de configuration pour déterminer l'objet d'accès aux données à créer, cependant, chaque fois que j'essaie de le tester, j'obtiens une exception NullReferenceException.Configuration des services WCF: Comment puis-je accéder aux AppSettings en code en utilisant C#

Voici le code:

public string Config { get; set; } 

    public ProjectFactory() 
    { 
     Config = ConfigurationManager.AppSettings["ProjectDAOConfig"].ToString(); 
     LoadDAO(); 
    } 

Et voici la propriété personnalisée dans le fichier We.config pour le service:

<configuration> 
    <configSections> 
     //Sections removed to make it tidier 
    </configSections> 
    <appSettings> 
     <add key="ProjectDAOConfig" value="stub"/> 
    </appSettings> 
    <connectionStrings/> 

pourquoi tout cela ne fonctionne pas? La propriété est-elle dans le mauvais fichier de configuration? Si oui dois-je créer un fichier App.Config comme actuellement il n'y a pas ??

EDIT: J'ai utilisé cette même méthode sur un site Web asp.net et cela a bien fonctionné.

Répondre

6

Si vous exécutez le code à partir d'un site Web, il lit le fichier web.config.

Si vous exécutez le code directement, il utilisera app.config dans le projet où le code commence à s'exécuter. Par exemple, si vous l'exécutez à partir d'un test unitaire, il s'agit du fichier app.config du projet de test unitaire.

+0

Ahhh qui a du sens car c'est l'unité qui teste et qui échoue, je n'ai pas encore testé le code live. – Morgeh

+0

Cela a résolu mon problème de test unitaire merci. – Morgeh

Questions connexes