2009-10-01 9 views
3

J'ai une DLL qui référence un service Web.web.config et app.config confusion

Le bloc qu'il a mis dans le app.config est (j'ai changé les noms, mais vous aurez l'idée):

<applicationSettings> 
    <DLLName.My.MySettings> 
     <setting name="DLLName_WebReferenceName_ASMXName" 
      serializeAs="String"> 
      <value>http://URL/Filename.asmx</value> 
     </setting> 
    </DLLName.My.MySettings> 
</applicationSettings> 

mon site références cette DLL. La question est, qu'est-ce que j'ajoute à web.config pour remplacer le paramètre ci-dessus (alternativement, est-ce que je mets juste le app.config dans le répertoire BIN)?

Je dois pouvoir remplacer l'URL du service Web sur le serveur de production car il ne peut pas atteindre l'URL spécifiée dans le fichier app.config (c'est un problème différent que nous n'allons pas aborder).

Répondre

6

Créez un nouveau groupeGroup dans configSections appelé applicationSettings et collez votre configuration app.config dans web.config comme indiqué ci-dessous, puis vous pouvez remplacer vos paramètres app.config.

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <configSections> 
     <sectionGroup name="applicationSettings" 
       type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" > 
      <section name="Playground.ConfigurationOverride.DataAccess.Properties.Settings" 
        type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
        requirePermission="false" /> 
     </sectionGroup> 
    </configSections> 
    <applicationSettings> 
     <Playground.ConfigurationOverride.DataAccess.Properties.Settings> 
      <setting name="MySetting" serializeAs="String"> 
       <value>Setting in DataAccess</value> 
      </setting> 
     </Playground.ConfigurationOverride.DataAccess.Properties.Settings> 
    </applicationSettings> 
</configuration>