0

J'ai une bibliothèque tierce qui charge la configuration depuis app.config Maintenant, je souhaite la configurer via Azure Service Fabric L'utilisation du fichier settings.xml standard nécessitera beaucoup de travail. Au lieu de cela, j'espère simplement copier l'ancien app.config dans le dossier SF Config et charger la configuration à partir de là. Fondamentalement, la seule chose que je n'ai pas pu comprendre est comment connaître le chemin d'accès au contenu de Config/* lors de l'exécution dans SF. je peux obtenir Context.CodePackageActivationContext.WorkDirectory Cependant, le chemin de c'est .. \ MyClass.ServicePkg.Config.1.0.0 \ app.configParamètres Legacy de la matrice de service

Y at-il un chemin que je peux interroger sur le contexte d'une certaine manière obtenir le chemin d'accès complet au dossier de configuration?

Répondre

1

Ouais, vous pouvez obtenir le chemin absolu à vos paquets de code et Config, en remplaçant les noms de vos paquets (« Code » et « Config » sont les noms par défaut dans les modèles de projet Visual Studio):

string codePackagePath = this.Context.CodePackageActivationContext.GetCodePackageObject("Code").Path; 
string configPackagePath = this.Context.CodePackageActivationContext.GetConfigurationPackageObject("Config").Path; 

Quelques informations de base sur l'emballage de service here. Les services sont composés de paquets "code" (vos exécutables et DLL) et de paquets "config" (n'importe quel fichier de configuration arbitraire ou le fichier Settings.xml intégré). Les packages peuvent être versionnés et mis à niveau indépendamment les uns des autres. Vous pouvez le voir dans Service Fabric Explorer sous l'onglet "Détails" d'un type d'application (notez le champ "Nom" - vous pouvez utiliser n'importe quel nom et c'est le nom que vous avez entré dans GetCodePackageObject()).

enter image description here

+0

Parfait. Merci! –