2010-11-02 19 views
5

Dans ASP.NET, .NET 4.0, MEF, je mets toutes les pièces dans un dossier et les importe en utilisant DirectoryCatalog. Tout va bien. Certaines parties ont des configurations connexes. Je ne veux pas les mettre dans web.config. Peut-être une bonne approche soit un fichier config juste à côté de la partie avec un .config ajouté à la fin.Configuration des pièces MEF, où stocker?

Quelle est la meilleure façon de stocker la configuration de pièce?

Répondre

3

J'ai été capable de créer un fichier de configuration distinct pour chaque DLL et j'ai réussi à lire les clés. Mais lorsque j'ai essayé de créer une section de configuration personnalisée, je n'ai pas pu lire à partir de la configuration de l'application de la DLL. Il a toujours voulu lire de l'exe MEF Consumer.

Voici le code à lire à partir de la propre application de dll consommée config

var appConfig = ConfigurationManager.OpenExeConfiguration(Assembly.GetExecutingAssembly().Location); 
    return appConfig.AppSettings.Settings["SomeKeyName"].Value; 

Depuis que je n'étais pas capable de lire à partir d'une section de configuration personnalisée, je me suis retrouvé à l'aide xml et sérialisation la section de configuration personnalisée à un objet. Puisque vous obtenez juste les informations du serveur de messagerie, vous n'aurez aucun problème à utiliser app.config.

+1

Ce que j'oublie de dire, c'est que c'est un projet asp.net. Comme je sais que les assemblys ne sont pas exécutés à partir du dossier bin, une copie de ceux-ci serait exécutée à partir d'un dossier temporaire. – Xaqron