2008-11-05 4 views
0

구성 섹션의 인스턴스가 실제로 구성 섹션을 메모리에로드하지 않고 XML 파일을 수동으로 구문 분석 할 필요없이 .net 구성 파일에 있는지 확인하는 방법을 알고있는 사람 - 예 : System.Configuration 네임 스페이스.HowTo : 메모리에로드하지 않고 .Net Configuration Section 인스턴스를 검색 하시겠습니까?

System.Configuration.ConfigurationManager.GetSection (...)을 사용 해봤지만 구성 파일에 존재하지 않더라도 구성 섹션의 "기본"인스턴스를 반환하는 것처럼 보입니다.

+0

섹션이 존재하는지 여부는 중요한 이유는 무엇입니까? 디자인에 문제가있는 것 같습니다. 당신은 다른 방식으로 결정되어야하는 섹션이 없다는 의미를 붙이고 있습니다. – Will

+0

구성 섹션이 있는지 여부는 응용 프로그램 도메인 내에서 실행 중인지 여부를 결정하며 공통 코드는 해당 조건의 존재 여부에 따라 분기 결정을 내려야합니다. –

+0

모든 .NET 코드가 앱 도메인 내에서 실행되므로 애플리케이션 도메인별로 무엇을 의미하는지 확신 할 수 없습니다. 그리고 구성 섹션의 존재 여부와 상관없이, 코드 실행 방법을 결정하는 "모범 사례"방식의 베타 프로그램이 아닙니다. 큰곰 냄새가 여기 있습니다. – Will

답변

1

로컬 설정 파일을 사용하는 경우 (컴퓨터 특정과 반대) XML (linq to xml과 같은)을 사용하여 반사로부터 exe 코드베이스를 가져 와서 구성 파일을 검사 할 수 있습니다 (예 : Assembly.GetExecutingAssembly()). CodeBase)

관련 문제