구성 관리자.앱 설정 캐싱
IIS가 Configuration Manager를 캐시한다는 것을 알고 있습니다.web.config가 변경될 때까지 디스크를 한 번만 읽도록 AppSettings.이것은 성능을 위해서 하는 것입니다.
다음 위치에 있는 사람:
http://forums.asp.net/p/1080926/1598469.aspx#1598469
라고 했습니다.NET Framework는 app.config에 대해서는 동일한 작업을 수행하지 않지만 모든 요청에 대해 디스크에서 읽습니다.하지만 믿기가 힘들어요 왜냐면 더 느려질 테니까요그렇지 않으면 제가 작성한 콘솔/Windows 양식/Windows 서비스를 모두 수정해야 합니다.
업데이트 상기 링크된 포럼에서 사람들이 한 말을 잘못 이해한 것에 대해 유감스럽게 생각합니다.
빠른 테스트를 통해 이러한 설정은 응용 프로그램 시작 시에만 로드되는 것으로 보입니다.
//edit the config file now.
Console.ReadLine();
Console.WriteLine(ConfigurationManager.AppSettings["ApplicationName"].ToString());
Console.WriteLine("Press enter to redisplay");
//edit the config file again now.
Console.ReadLine();
Console.WriteLine(ConfigurationManager.AppSettings["ApplicationName"].ToString());
Console.ReadLine();
모든 출력이 동일하게 유지됩니다.
먹어봐.
ConfigurationManager.RefreshSection("appSettings")
파일 이름 주의(빈 폴더)
일반 파일 이름: appname.exe.config
if debug mode : appname.vshost.exe.구성
그것이 그러는지 안 그러는지는 중요하지 않습니다.성능 문제가 없으면 수정하지 마십시오.
앱이 실행되는 동안 파일을 변경하면 쉽게 확인할 수 있듯이, 애플리케이션 시작 시 애플리케이션 구성 파일(MyApp.exe.config)을 한 번 읽어줍니다.
OP가 언급한 포럼 게시물의 논평은 다음과 같습니다.
Web.config에 대한 값은 응용 프로그램이 시작될 때 캐시/메모리에 저장되므로 Web.config에 변경 사항이 있을 때 응용 프로그램이 다시 시작됩니다.이는 Web.config에만 적용되며, 사용할 수 있는 다른 모든 .config 파일은 기본적으로 디스크에서 액세스됩니다.
이 코멘트는 ASP에서 web.config 이외의 config 파일을 의미하는 것으로 해석하겠습니다.NET 응용프로그램은 기본적으로 디스크에서 액세스합니다.마찬가지로 WinForms/Console 응용 프로그램의 MyApp.exe.config 이외의 구성 파일도 기본적으로 디스크에서 액세스합니다.
이 설명은 MyApp.exe.config가 기본적으로 디스크에서 읽혀진다는 것을 의미하지 않습니다.
AppSettings가 캐시됩니다.추가 캐싱을 통해 이름값 수집 조회를 제한함으로써 성능을 향상시킬 수 있습니다.
John의 말처럼 실제로 공연이 히트하는 것을 보고 있는 경우에만 이 작업에 더 많은 시간을 할애할 수 있습니다.
또한 이러한 응용 프로그램은 구성을 메모리에 저장하고 구성 내에서 변경 사항을 확인하려면 응용 프로그램을 다시 시작해야 할 것이라고 확신합니다.
남은 미스터리에 대한 추가적인 읽기를 위해.
언급URL : https://stackoverflow.com/questions/389361/configurationmanager-appsettings-caching
'source' 카테고리의 다른 글
함수는 내부 angularjs controller에서 두번 호출됩니다. (0) | 2023.10.31 |
---|---|
이달의 마지막 날을 찾기 위한 SQL 쿼리 (0) | 2023.10.31 |
이름을 기준으로 도커 이미지를 제거하는 방법은? (0) | 2023.10.31 |
argparse store false(지정되지 않은 경우) (0) | 2023.10.31 |
WPML: wp_query()는 현재 게시물이 아닌 모든 언어의 게시물을 반환합니다. (0) | 2023.10.31 |