2011-01-30 2 views
0

(a) 해당 사이트 인스턴스에서 관리 할 수 ​​있고 (b) Web.config 파일을 계속 파괴 할 수있는 특정 사이트 인스턴스에 대한 일부 메타 정보를 저장하려고합니다. 사이트는 여러 환경 (개발, 테스트, 준비 및 프로덕션)에서 실행되며 각 환경은이 메타 데이터에 대해 다른 값을 가질 수 있습니다. 참고 : 모든 환경에서 IIS 7.0 이상이 실행되고 있습니다.코드에서 루트 Web.config 수정

루트 Web.config는 확실히 웹 사이트 외부에 있으므로 매우 매력적으로 보입니다. 따라서 메타 데이터를 유지하면서 파일과 데이터베이스를 모두 변경할 수 있습니다. 웹 사이트에 저장된 Web.config의 appSettings를 수정하는 방법을 보았습니다. 그러나 비슷하게 루트 Web.config에서 appSettings를 수정할 수 있습니다 (특히 적절한 지시문 내에서)?

이 문제에 대한 다른 제안 사항이 있으면 알려 주시면 매우 기쁩니다. 고맙습니다!

답변

0

내 가정이 부정확하고 Web.config의이하지 않을 경우 응용 프로그램이 재활용하게됩니다 런타임 수정에 대한 Web.config의,의 app.config

같은 구성 파일의 아마 다른 양식을 사용하지 않을 응용 프로그램이 시작된 후 편집하면 WebConfigurationManager을 사용하여 파일 섹션에 액세스 할 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. 작은 부분이 하나 더있어 나를 검색 할 수있었습니다. 루트 web.config를 참조하기 위해 가상 경로 인수로 null을 사용해야합니다. WebConfigurationManager.OpenWebConfiguration (null) –

0

예 web.config에서 응용 프로그램 설정을 수정할 수 있습니다. System.Web.Configuration 네임 스페이스의 WebConfigurationManager 클래스를 사용하여 Configuration 객체를 만들면됩니다. 그런 다음이 객체를 사용하여 web.config 파일의 변경 사항을 읽고 쓸 수 있습니다.

그런 다음 필요에 따라 읽을 수있는 고유 한 "키"또는 속성을 만들 수 있습니다.

특성이 나타내는 내용 또는 해당 서버의 여러 환경에서 컴퓨터를 가져와야하는 경우에 따라 machine.config 파일 내에서 수정 작업을 수행하면 해당 설정이 입력 컴퓨터에 적용되므로 여러 환경 (서버에서 여러 개의 웹 응용 프로그램을 호스팅하는 경우)에 의해 선택됩니다. 이렇게하면 여러 web.config 파일을 수정하고 특정 상황에서 여러 구성 파일을 비교하여 저장소 또는 메타 데이터를 한 위치에 저장하는 시간을 절약 할 수 있습니다.