App.config에 연관 배열을 저장하는 가장 좋은 방법
-
12-12-2019 - |
문제
저는 최근에 내 소프트웨어에서 일해 왔으며 연관 배열을 저장하는 것이 가장 좋은 방법이 무엇인지 궁금해했습니다.
내가 파란색에서 나올 수있는 유일한 것은 이렇게하는 것입니다.
<add key="disks" value="C|1|10,D|2|20,E|1|5,Z|1|3"/>
.
그러나 이것은 내 구성 파일에서 많은 가독성을 제공하지 않으며 콘솔 응용 프로그램이므로 구성 파일을 읽을 수있게합니다.
app.config 파일에 지정된 디스크의 디스크 공간을 확인하는 프로그램을 작성했으나 다른 디스크에 대해 다른 임계 값을 원한다.
어떻게 해결할 수 있습니까? 다음은 내 현재 구성 파일의 일부입니다.
<!-- DISK FEATURE SETTINGS -->
<!-- Type 1 is threshold by percentage and type 2 is threshold by a certain limit -->
<add key="threshold_type" value="1" />
<add key="threshold_limit" value="0,1" />
<!-- Space_type defines if you want to limit using kilobytes (1), megabytes (2) or gigabytes (3) if using threshold_type 2 -->
<add key="space_type" value="3" />
<!-- Put the disks here delimited by a comma like this: C,D,E -->
<add key="disks" value="C,D,E,Z"/>
<!-- SERVICE FEATURE SETTINGS -->
<!-- Put the services here delimited by a comma like this: C,D,E -->
<add key="services" value="spooler,ekrn,RadeonPro Support Service,TeamViewer6"/>
<!-- Put this on 1 if you want to log your output to a text file -->
<add key="logging" value="1"/>
.
Perfmon 카운터를 사용하여 일부 데이터를 가져 와서 텍스트 파일에 저장하는 PerformanceCounter 프로그램에 동일한 원리를 사용하고자합니다.
사람들이 여기서 조금 나를 도울 수 있기를 바랍니다.)
해결책
나는 자신만의 구성 섹션을 만들려면 당신을 suggesst합니다.사용자 정의 구성은 더 많은 가독성 및 유형 안전을 제공합니다.다음은 사용자 지정 구성을 만드는 링크가 있습니다 http://msdn.microsoft.com/en-us/library/2tw134k3.aspx. 및 http://haacked.com./Archive/2007/03/11/custom- asy -steps.aspx (오래되었지만 따라 가기 쉬운)
다른 팁
표준 구성 메커니즘이 XML 직렬화와 함께 작동하는 한, app.config에서 사전을 저장하는 최상의 (및 imho, 현명한) 방법은 List<KeyValuePair<K,V>>
입니다.
System.Collection 또는 List에서 해시 테이블을 사용하려는 경우 <>
아래 해시 테이블에 대한 포인터는 거의없고, http://www.dotnetperls.com/hashtable http://www.tutorialspoint.com/csharp/csharp_hashtable.htm
나는 이것이 도움이되기를 바랍니다 !!감사합니다 :)