2010-02-24 11 views
4

Parfois, nous utilisons des variables globales dans notre configuration Biztalk (BTSNTSvc.exe.config), nous ajoutons ceux-ci avec le code suivant:Accès appsettings de WebReference de Biztalk BTSNTSvc.exe.config

<appSettings> 
    <!--<add key="ZNA_Integratie_Prestaties_OasisProxy_OasisServiceProxy_Service" 
      value="http://localhost/service.asmx" />--> 
    <add key="IPSdatum" value="20090101" /> 
    </appSettings> 

En utilisant le code C# suivant, nous pouvons lire la valeur:

ConfigurationManager.AppSettings["IPSdatum"] 

maintenant, normalement nous lorsque nous ajoutons un WebReference à nos projets Biztalk nous les utilisons dans les ports, mais un de mes collègues a utilisé un dans le code WebReference et ainsi ajouté un à projet aC# classe, cette signifie qu'il y a un app.config où l'adresse est détenue. Cependant, lorsque nous déployons notre projet, il n'y a pas de app.config bien sûr. Seul le BTSNTSvc.exe.config. J'ai entendu il y a un moyen d'ajouter une valeur de clé à cette config qui peut faire référence à la valeur app.config.

Quelqu'un peut-il m'aider ici?

+0

Comme vous l'avez mentionné, idéalement, vous devriez utiliser les ports d'envoi dans BizTalk, et non les assemblys personnalisés avec des références Web, auquel cas la configuration sera stockée dans des fichiers de liaison. – StuartLC

Répondre

4

Option 1: Fichier

BTSNTSvc.exe.config est un fichier de configuration .NET, vous pouvez mettre le contenu ce que vous voyez dans votre fichier app.config dans le fichier BTSNTSvc.exe.config aux sections correctes.

Option 2:

Vous pouvez consulter les fichiers de configuration supplémentaires à partir du fichier BTSNTSvc.exe.config en utilisant le concept de domaine d'applications as explained here

Si vous faites affaire avec seulement quelques entrées, puis l'option 1 est préférable.

Encore mieux, essayez de ne pas utiliser les références Web en ligne dans vos classes auxiliaires, essayez d'éviter la situation.

+0

Ouais, je sais, je ne fais jamais de références web en ligne, c'est dans un code d'un ancien collègue et on ne peut pas vraiment le modifier en ce moment. J'aime l'option 1, je vais essayer – WtFudgE

+1

L'option 1 a bien fonctionné, merci. En fin de compte, j'ai dû le retirer de toute façon, car l'utilisation de ce service n'a pas fait de nouvelles tentatives. Donc, je passe une journée entière à réécrire son code en utilisant un sendport biztalk comme il se doit :) – WtFudgE