ASP.NET web.config : configSource와 파일 속성


187

내에서 web.config하는 ASP.NET 응용 프로그램에서 - 파일 설정의 일부 섹션은, 같은 appSettingsconnectionStrings, 속성을 지원 file하고 configSource.

file-attribute와 -attribute 를 사용하는 것의 차이점은 무엇입니까 configSource? 언제 어떤 속성을 사용해야하며 두 속성을 모두 사용할 수 있습니까?

<?xml version="1.0"?>
<configuration>
  <appSettings file="AppSettings.config">
  </appSettings>
  <connectionStrings configSource="ConnectionStrings.config">      
  </connectionStrings>
  <!-- ... -->
</configuration>

답변:


300

file 속성

  • 사용자 정의 응용 프로그램 구성 설정이 포함 된 외부 파일의 상대 경로를 지정합니다.
  • appSettings섹션 에만 해당
  • 것입니다 병합 .config 파일의 설정 (오버라이드)
  • 지정된 파일을 수정할 때 웹 응용 프로그램이 다시 시작되지 않습니다.
  • http://msdn.microsoft.com/en-US/library/ms228154(v=vs.100).aspx
  • 구성 사용 . AppSettings . 설정 . 추가 API는 모든 설정을 기본으로 병합 다시 존재가 발생합니다 .configA의 구성 . 통화를 저장 하십시오.
  • .NET 1.1부터
  • 파일이 존재하지 않으면 예외가 발생하지 않습니다.

configSource 속성

file속성은 web.config 파일의 appSettings 항목에서와 같이 사용자 정의 설정이 포함 된 외부 파일을 지정합니다. 한편 configSource속성에 지정된 외부 파일 에는 configSource를 선언 한 섹션의 설정이 포함됩니다. 예를 들어 configSource페이지 섹션 의 속성 을 사용하면 외부 파일에 페이지 섹션에 대한 설정이 포함됩니다.

file속성에 지정된 외부 구성에 선언 된 사용자 정의 설정 appSettingsweb.config파일 섹션 의 설정과 병합 됩니다. 한편, 병합을 지원 configSource 하지 않으므로 전체 섹션 설정을 외부 파일로 이동해야합니다.

http://www.codeproject.com/Messages/1463547/Re-difference-between-configSource-and-file-attrib.aspx


10
또한 "file"속성을 사용하면 디렉토리 디렉토리 외부에 파일을 지정할 수 있습니다. 이는 다른 사이트간에 공통 설정을 공유하는 데 중요합니다. 불행히도 "configsource"속성은 현재 트리 내의 파일로 제한하므로 공유 설정의 경우 IIS에서 가상 디렉터리를 지정해야합니다.
Ed Graham

6
위의 의견은 완전히 정확하지 않았으며 편집 할 수있는 임의의 5 분 창이 누락되었습니다. IIS에서 가상 디렉터리를 설정하여 "configsource"파일을 직접 디렉터리 트리 외부에 둘 수 없습니다. 정말 제한적입니다. 접합점 (또는 NTFS 하드 링크)을 사용하여 문제를 해결했지만 정확히 그렇지는 않습니다.
Ed Graham

1
와우! 큰 대답 ... 이것은 정말 나를 도왔습니다 : will not cause web application to restart when modifying the specified file. 사용자 지정 섹션에 대한 외부 파일의 설정을 수정할 때 앱을 다시 시작해야하므로 갈 수있는 방법은입니다 configSource. 흥미로운 것은 내가 사용 file하고 있었고 다른 섹션이 작동하고 있다는 것입니다. file이외의 섹션에서도 작동 appSettings하지만 답변에 잘 설명 된 내용이 있습니다.
Leniel Maccaferri

4
configSource 목록에 추가하고 싶습니다 : It must refer to a file in the same directory or in a subdirectory as the configuration file.. 그리고 파일 목록에도 있습니다 : It can reside outside the directory of the configuration file itself..
frankhommers

2
appSettings 요소에 대한 업데이트 된 링크 -docs.microsoft.com/en-us/dotnet/framework/configure-apps/…
Jarrod
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.