web.config에서 사용자 지정 구성 섹션을 정의하는 ASP.NET 응용 프로그램이 있습니다.ASP.NET 구성 상속
최근에 나는 기존의 프로덕션 응용 프로그램과 함께 테스트 용으로 두 개의 응용 프로그램 인스턴스를 배포하려는 고객이있었습니다.
고객에 의해 선택된 구성이었다
- foo.com - 생산 애플리케이션
- foo.com/Testing - 시험이 경우 애플리케이션
상기 구성 ASP.NET 엔진은 foo.com/web.config에서 foo.com/Testing/web.config로 설정을 적용하기로 결정했습니다.
감사하게도 두 웹 응용 프로그램이 격리되었다는 잘못된 인상을주기보다는 두 번째 수준에서 섹션이 재정의되었으므로 구성 오류가 발생했습니다.
내가하고 싶은 것은 제 구성 섹션이 상속되지 않았기 때문에 필요한 모든 웹 응용 프로그램에 대해 다시 정의해야하지만이 작업을 수행 할 방법을 찾지 못했습니다.
내 Web.config의가/테스트에서 Web.config의에서이
<configuration>
<configSections>
<section name="MyApp" type="MyApp.ConfigurationSection"/>
</configSections>
<MyApp setting="value" />
<NestedSettingCollection>
<Item key="SomeKey" value="SomeValue" />
<Item key="SomeOtherKey" value="SomeOtherValue" />
</NestedSettingCollection>
</MyApp>
</configuration>
당신이 더 "다행히이 구성 오류가 발생 explan 수 두 웹 애플리케이션이 분리되었다는 잘못된 인상을주는 것 "이라고 덧붙였다. –
중첩 된 구성 설정은 부모 구성에 추가 된 값과 동일한 키를 사용하여 NestedSettingCollection에 값을 추가하는 것이 었습니다. 이로 인해 부모로부터 설정을 가져 오는 것이 아니라 "동일한 키를 가진 항목이 이미 있습니다"라는 예외가 발생했습니다. 프로덕션 데이터베이스를 가리키는 기본 응용 프로그램에 연결 문자열이 있고 테스트 데이터베이스를 가리 키도록 하위 디렉터리에 연결 문자열 속성을 정의한 경우 사용자가 가리키고 있던 데이터 묶음을 삭제 한 직후에 어떤 결과가 발생할지 상상해보십시오 제작시 : ( – NowYouHaveTwoProblems
foo.com은 웹 사이트의 루트로서 테스트 설정이 해당 웹 사이트의 응용 프로그램이라고 상상해보십시오 .ASP.NET은 웹 사이트의 구성을 상속받습니다 (현재 발생하고있는 내용) –