Pregunta

He estado trabajando en mi software y últimamente me han preguntado cuál es el mejor modo para almacenar una matriz asociativa.

La única cosa que me podía venir de la nada es hacer algo como esto:

<add key="disks" value="C|1|10,D|2|20,E|1|5,Z|1|3"/>

Pero esto no ofrecen una gran cantidad de legibilidad en mi archivo de configuración y quiero que mi archivo de configuración para que sea legible, ya que es una aplicación de consola.

La razón de esto porque he escrito un programa que comprueba el espacio en disco de los discos especificado en la aplicación.archivo de configuración, pero quiero umbrales diferentes para diferentes discos.

¿Cómo se podría solucionar esto?He aquí una parte de mi archivo de configuración.

<!-- 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"/>

Quiero usar el mismo principio para mi performancecounter programa que utiliza los contadores de rendimiento para obtener algunos datos y almacenarlos en un archivo de texto.

Espero que la gente me puede ayudar un poco por aquí :)

¿Fue útil?

Solución

Te sugiero que cree su propia sección de configuración.La configuración personalizada proporciona más legibilidad y tipo de seguridad.Aquí hay enlaces para crear una configuración personalizada. http://msdn.microsoft.com/en-us/library/2tw134k3.aspx y http://haacked.com/Archive/2007/03/11/custom-configuration-sections-in-3-easy-steps.aspx (anterior pero fácil de seguir).

Otros consejos

Tan lejos como configuración estándar mecanismo funciona con la serialización XML, el mejor (y, en mi humilde opinión, el sabio) para almacenar los diccionarios en la Aplicación.config es un List<KeyValuePair<K,V>>.

Es posible que desee usar HashTable desde System.Collection o LIST <>

A continuación se presentan pocos punteros para HashTable, http://www.dotnetperls.com/hashtable http://www.tutorialspoint.com/csharp/csharp_hashtable.htm

¡Espero que esto ayude!gracias :)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top