2010-04-01 6 views
7

app.config 파일을 분리하고 싶습니다. 예를 들어 ServiceModel 부분을 같은 프로젝트의 다른 설정 파일로 옮기고 싶습니다. 어떻게해야합니까?여러 App.Config 파일

감사합니다.

답변

5

configSource 특성이 두 번째 파일로 설정된 빈 요소를 가질 수 있어야합니다 (첫 번째 파일에 상대적 임). 이를 활성화하는 방법은 여기 for custom sections을 참조하십시오.

1

내 지식이가는 한 슬프게도 불가능합니다.

당신이 할 수있는 일은 (우리가 WCF 프록시에 대해 말하면) 코드에서 프록시를 만들고 구성하는 것입니다. 그렇게하면 serviceModel 섹션이 필요하지 않습니다.

이제 원하는 데이터에 대한 사용자 지정 섹션을 정의하면 구성 파일 외부에 배치 할 수 있습니다. 이 같은

2

사용 무언가 :

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

나는 방법을 발견했다. 이런 태그를 변경했습니다.

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

은 내가 Services.config 파일을 만든 후 자신의 나는이

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

내가 바인딩, 동작, Extensions.config 파일에서 수행 동일했습니다.

그리고

+0

@Wilson을 작동하지 않습니다 : 당신이 친절을 포맷 할 편집기 도구 모음에서 "코드"버튼 (101 010) 코드 또는 XML 라인을 강조 표시하고 눌러 배울 필요 - 더 더러워 "<클라이언트를" 해킹이 필요합니다. 코드로 그 형식을 지정하는 것만 기억한다면 –