hovkar
hovkar

Reputation: 1421

Multiple App.Config files

I want to separate my app.config file. For example I want to move ServiceModel part to another config file in the same project. How can I do that?

Thanks.

Upvotes: 8

Views: 6778

Answers (4)

Kangkan
Kangkan

Reputation: 15571

Use something like this:

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

Upvotes: 2

hovkar
hovkar

Reputation: 1421

I found the way. I changed the tag like this.

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

After I created the Services.config file and their I put this

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

The same I done in Bindings, Behaviors, Extensions.config files.

And it works

Upvotes: 3

Dejan
Dejan

Reputation: 731

As far as my knowledge goes this is sadly not possible.

What you could do is to (if we are speaking about WCF proxies) create and configure your proxy in your code. That way you do not need the serviceModel section.

Now just define your own custom section for the data you need and that can then be placed outside of your configuration file.

Upvotes: 0

Marc Gravell
Marc Gravell

Reputation: 1062512

You should be able to have an empty element with the configSource attribute set to the second file (relative to the first). See here for how to enable it for custom sections.

Upvotes: 5

Related Questions