File di configurazione che può essere modificato dall'utente in C #

3

Voglio creare un file di configurazione (file di testo preferito) che può essere modificato dall'utente. Un servizio Windows leggerà da quel file e si comporterà di conseguenza. Potete consigliare un formato di file per questo tipo di processo? Quello che ho nel mio è un file di configurazione come i file di configurazione del gioco, ma non riesco a immaginare come leggerlo.

La mia domanda è molto simile a file INI o registro o file personali ? , ma la mia domanda è diversa perché devo considerare la modifica degli utenti.

    
posta Bora 21.03.2013 - 13:27
fonte

3 risposte

4

Personalmente userò Impostazioni , il suo xml basato, ma il vero vantaggio è che MS ha già fatto tutti i codici per la maggior parte dei tipi (incluse le impostazioni globali e le sostituzioni per utente), quindi è davvero semplice da usare. come Wyatt indica nella sua risposta che è anche possibile estendere utilizzando le sezioni di configurazione personalizzate (personalmente trovo eccessivo questo la maggior parte delle esigenze di configurazione, ma è bello avere a disposizione quando si dispone di uno scenario di configurazione complesso).

A seconda del modo in cui gli utenti sono esperti di tecnologia, puoi utilizzare Impostazioni e consente all'utente di modificare gli xml stessi.

Se gli utenti non sono esperti di tecnologia allora ti suggerirei di fornire una GUI per consentire la modifica in ogni caso, altrimenti ti accorgerai presto di avere chiamate di supporto sui file di configurazione corrotti (indipendentemente dal formato che utilizzi)

    
risposta data 21.03.2013 - 13:41
fonte
2

Scrivere un semplice DSL in Boo è un'ottima soluzione per questo tipo di problema e quasi infinitamente estensibile in quanto le regole diventano più complicate. Puoi anche, senza troppi sforzi, dare all'utente Intellisense di base riutilizzando spudoratamente un po 'di SharpDevelop . E puoi facilmente convalidare le regole che creano.

Tuttavia, considera seriamente la possibilità di fornire un'interfaccia utente. È più un lavoro da parte tua sviluppare, ma meno tempo per supportarlo.

    
risposta data 21.03.2013 - 14:08
fonte
2

Per .NET potresti anche creare il tuo sezione di configurazione personalizzata . In termini di aggiornamento degli utenti, probabilmente vorrai scrivere uno strumento, ma ciò è relativamente semplice: le API di configurazione semplificano la modifica delle impostazioni senza scrivere molto codice.

Se desideri evitare XML, ci sono molte opzioni. La maggior parte dei file di configurazione di gioco che vedi sono script lua . Alcune altre opzioni interessanti potrebbero essere ruby o python, entrambi con implementazioni CLR come IronRuby e IronPython e sarebbero abbastanza semplici da implementare.

    
risposta data 22.03.2013 - 00:38
fonte

Leggi altre domande sui tag