Domanda

Ho letto un sacco di affermazioni come " non si dovrebbe intasare il file app.config con impostazioni personalizzate ". Tuttavia, ho avuto l'impressione che questo era esattamente lo scopo del file?

E 'solo davvero una preferenza cosa? O ci sono dei vantaggi reali (diverso da separazione delle impostazioni) utilizzando un file XML personalizzato, come apposto al file app.config? Se è necessario in modo esplicito impostazioni separate sarebbe meglio usare un ConfigurationSection personalizzato piuttosto che optare per un file XML personalizzato?

Vorrei qui altri popoli pensieri su questo.

È stato utile?

Soluzione

Alcune persone tendono ad andare un po 'in mare sui gestori di sezione di configurazione personalizzata, a mio modesto parere.

Io tendo ad usare solo quando ho bisogno di qualcosa che è molto Costruii; e che viene utilizzato / scritto da 3 parti (vale a dire che voglio fare un po 'di validazione extravagent su di esso).

Penso che si può tranquillamente utilizzare app.config / web.config per tutte le impostazioni relative, e utilizzare file XML separati quando è molto chiaro che è un componente separato della app.

Altri suggerimenti

Date un'occhiata alla Impostazioni Application Architecture , l'app. config è per Configration per quanto riguarda l'applicazione, questo è un bel termine generale però .. quindi vorrei suggerire di guardare nei file Impostazioni applicazione.

Non vorrei memorizzare le impostazioni come "banca dati del carico all'avvio o no" nel app.config. Avrei preferito utilizzare una memoria alternativa come Impostazioni applicazione per questo, da non confondere con la configurazione dell'applicazione Impostazioni, anche se si potrebbe desiderare di farlo, non lo fanno. app.config si suppone di avere configration quanto riguarda le cose di livello più basso come connessione al database, provider di appartenenze o qualsiasi altra informazione Critico applicazione.

La maggior parte delle impostazioni tendono a cadere in uno dei tre campi:

  1. impostazioni tecniche che influenzano il comportamento interno del codice, ad esempio, stringa di connessione al database, il percorso del file di dati, interruttori di registrazione, interruttori di gestione degli errori, ecc.
  2. Impostazioni
  3. commerciali che influenzano la logica di business del prodotto, per esempio "Sono gli utenti autorizzati ad accedere al modulo CRM?"
  4. i valori di profilo specifiche dell'utente, per esempio "È questo permesso all'utente di accedere al modulo CRM?".

Il luogo naturale per il tipo 1 è in app.config o web.config, e il luogo naturale per i tipi 2 e 3 è nel database.

app.config sono buone per la configurazione che sono un'applicazione specifica: percorso a base di dati è un buon esempio. Il resto dovrebbe essere fuori di esso.

Una cosa che si potrebbe desiderare di fare è quello di creare i file specifici per l'utente, è possibile utilizzare XML personalizzato che verrà salvato in un IsolatedStore.

A mio parere ritengo app.config per essere buono per le impostazioni di distribuzione in tempo, come la posizione del database, o un indirizzo IP o la posizione del file di dati critici, ecc Impostazioni utente come le preferenze di carattere, colore, comportamento dovrebbe andate in un file diverso, che si può facilmente creare e salvare con serializzazione XML.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top