내 app.config의 사용자 지정 구성 섹션 중 하나에서 값을 업데이트해야합니다. 이 작업을 수행하는 좋은 예가 있습니까?C# - 사용자 지정 구성 저장
<mySection>
<level1>
<add data1="444"/>
</level1>
</mySection>
프로그래밍 방식으로 444에서 555로 업데이트하고 싶습니다.
내 app.config의 사용자 지정 구성 섹션 중 하나에서 값을 업데이트해야합니다. 이 작업을 수행하는 좋은 예가 있습니까?C# - 사용자 지정 구성 저장
<mySection>
<level1>
<add data1="444"/>
</level1>
</mySection>
프로그래밍 방식으로 444에서 555로 업데이트하고 싶습니다.
구성이 application.exe.config에 저장된다고 가정하면 다음이 작동합니다.
void ModifyLevel1Value(int newValue)
{
Configuration exeConfiguration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
MySection section = (MySection)exeConfiguration.GetSection("mySection");
// Modify value, or whatever is sensible in your program
section.LevelsCollection["data1"] = newValue;
exeConfiguration.Save();
}
웹 응용 프로그램 및 해당 구성에 대한 경험이 거의 없기 때문에 web.config에서 작동하는지 잘 모르겠습니다.
이 기술은 구성 파일을 다시 쓰지만 내부 구성 파일 캐시를 플러시하지는 않습니다. 구성 파일을 강제로 다시로드하려면 (응용 프로그램에서 문제가되지 않을 수도 있음) 다음과 같은 정적 메서드를 호출 할 수 있습니다.
ConfigurationManager.RefreshSection(section);
변경하려는 요소를 찾기 위해 linq to xml를 사용할 수 있습니다, 당신은 XElement 객체를 얻어야한다 당신이 원하는대로 변경하고 저장합니다.
이로 인해 appdomain이 다시로드 되나요? 앱 실행 중에 문제가 발생합니까? 이것은 콘솔 앱이므로 웹 앱에 비해 큰 문제는 아니라고 생각합니다. – Arcadian
이로 인해 앱 도메인이 다시로드되지 않습니다. 구성 파일 만. 앱의 작성 방법을 모르기 때문에 앱에서 발생할 수있는 문제에 대해 말씀 드릴 수 없습니다. –