2010-04-01 17 views
7

Voglio separare il mio file app.config. Ad esempio, desidero spostare la parte ServiceModel in un altro file di configurazione nello stesso progetto. Come lo posso fare?Più file App.Config

Grazie.

risposta

5

Dovrebbe essere possibile avere un elemento vuoto con l'attributo configSource impostato sul secondo file (relativo al primo). Vedi qui per come abilitarlo for custom sections.

1

Per quanto ne so, questo non è purtroppo possibile.

Quello che potresti fare è (se stiamo parlando dei proxy WCF) creare e configurare il tuo proxy nel tuo codice. In questo modo non hai bisogno della sezione di servizio Model.

Ora basta definire la propria sezione personalizzata per i dati necessari e che possono quindi essere collocati al di fuori del proprio file di configurazione.

2

usare qualcosa di simile a questo:

<?xml version="1.0"?>  
<configuration>  
    <appSettings />  
    <connectionStrings/>  
    <system.web>  
     <compilation debug="false" strict="false" explicit="true" />  
    </system.web>  
    <appSettings file="externalSettings.config"/>  
</configuration> 
2

ho trovato il modo. Ho cambiato il tag in questo modo.

<system.serviceModel> 
    <behaviors configSource="Behaviors.config"> 
    </behaviors> 
    <services configSource="Services.config"> 
    </services> 
    <bindings configSource="Bindings.config"> 
    </bindings> 
    <extensions configSource="Extensions.config"> 
    </extensions> 
    </system.serviceModel> 

Dopo aver creato il file Services.config e il loro ho messo questo

<services> 
    <service behaviorConfiguration="ServiceBehavior" name="EntLib31ExceptionTest.Service1"> 
    <host> 
     <baseAddresses> 
     <add baseAddress="http://localhost:8001/ValidationService1/" /> 
     </baseAddresses> 
    </host> 
    <endpoint address="" 
       binding="wsHttpBinding" 
       bindingConfiguration="CustomBinding" 
       contract="EntLib31ExceptionTest.IService"  
       behaviorConfiguration="Validation"/> 
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> 
    </service> 
</services> 

Lo stesso ho fatto in Associazioni, comportamenti, file Extensions.config.

E funziona

+0

@Wilson: è necessario imparare a mettere in evidenza le linee di codice o XML e premere il tasto "codice" (101 010) nella barra degli strumenti Editor per formattare loro bene - non disordinato "