2012-01-11 19 views
4

通常は、すべてのアプリケーション構成データをweb/app.configおよび関連するXML構成ファイルに格納します。しかし、私はこれが必ずしも最良のハンドリング方法ではないかもしれないと考えていたすべて設定データ。web.configではなく、いつデータベースに設定データを保存する必要がありますか?

どちらかを使用する方が現実的な場合がありますか?

答えて

2

私は明確なルールはありませんが、私の "経験則"は、プログラムが実行されているコンピュータに固有の構成のみをローカルに格納し、すべての共有構成データをデータベースに格納することです。

私たちは、私たちの設定をデータベースに保存し、編集/バージョン化するための小さなライブラリを開発しました。また、アプリケーションごとに別々の領域を持つ共有構成ストアと、複数のアプリケーションで構成エントリを再利用する機能を設計しました。ルール、クエリ定義などの高度な構成エントリをデータベースに格納します。

プラグインアセンブリの場所、DBベースの構成ライブラリの接続文字列、ログ設定などの場所固有の構成は、「通常の」web/app.configファイルに移動します。これにより、ローカルと共有の構成を比較的明確に分離することができます。

2

構成に機密データが含まれ、別のセキュリティ層(RDBMSセキュリティ)が必要な場合は、構成をデータベースに格納します。逆に、クライアント管理者が簡単で迅速なアクセスを必要とし、UPDATEコマンドでデータベースをハッキングする予定がない場合は、configファイルを設定ファイルに保存することをお勧めします。

+0

データが機密と見なされると、設定を暗号化することもできます。それは不浸透性ではありませんが、どちらもdbセキュリティではありません。 (+1 btw) –

0

Webサイトを再起動せずに設定値を変更できるようにするには、データベースに保存します。しかしこれは、多くの開発者が構成値を探しているときに、最初にそれらを見つけようとはしない、多面的な要素の層を追加します。少なくとも私の店では、web.configファイルに変更される可能性のあるすべての値を入れ、必要に応じて暗号化します(サードパーティのサービスやデータベースなどへの資格情報)。開発者は、コードに最初に潜んでいたときに、設定値がどこに格納されているのか探していました(しかしこれは一度だけのことですが、まだ迷惑です)。

関連する問題