2010-04-01 14 views
7

Ich möchte meine app.config-Datei trennen. Zum Beispiel möchte ich den ServiceModel-Teil in eine andere Konfigurationsdatei im selben Projekt verschieben. Wie kann ich das machen?Mehrere App.Config-Dateien

Danke.

Antwort

5

Sie sollten in der Lage sein, ein leeres Element mit dem Attribut configSource auf die zweite Datei (relativ zu der ersten) zu haben. Sehen Sie hier, wie Sie es aktivieren können for custom sections.

1

Soweit mir bekannt ist, ist dies leider nicht möglich.

Sie könnten (wenn wir über WCF-Proxies sprechen) Ihren Proxy in Ihrem Code erstellen und konfigurieren. Auf diese Weise brauchen Sie den Abschnitt serviceModel nicht.

Jetzt definieren Sie einfach Ihre eigenen benutzerdefinierten Abschnitt für die Daten, die Sie benötigen und die dann außerhalb Ihrer Konfigurationsdatei platziert werden können.

2

Verwendung so etwas wie dieses:

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

fand ich die Art und Weise. Ich habe den Tag so geändert.

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

Nachdem ich geschaffen, um die Services.config Datei und deren ich diese

<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> 

Das gleiche habe ich in Bindings getan, Behaviors, Extensions.config Dateien.

Und es funktioniert

+0

@Wilson: Sie müssen Ihren Code oder XML-Linien zu markieren, lernen und drücken Sie die „Code“ Taste (101 010) auf der Editor-Symbolleiste sie schön formatiert werden - keine lästigen „

Verwandte Themen