6

各「モジュール」の ASP.NET configSections セクションに保存した複数の値があります。それらがこれらのファイルに属しているのかどうか疑問に思っていました。

バックグラウンドは次のとおりです。これらは、デプロイされた Web アプリケーションの複数のインスタンスです。すべて同じデータベースを使用しますが、独自の設定があります。

開発と本番の違いは構成ファイルにあると確信しています。私が知っている値には、接続文字列、使用するプロバイダー、デバッグの設定などを含める必要があります。

私はすべての共通部分を、独自のルールとメソッドを持つクラスに分解しました。残っているのは、各サイトの各モジュールのさまざまな設定です。私が確信していないオプションのいくつかは次のとおりです。

  • ModuleA の場合、表示/非表示オプション
  • ModuleB の場合、このフィールドで使用される用語は何ですか?
  • ModuleC の場合、エンド ユーザーが X アクションを実行できるようにする
4

4 に答える 4

4

うーん、これらは、app.config を変更することなく、アプリケーションの実行時に変更できるようにする必要があるように思えます。私が従うのが好きな経験則の 1 つは、構成内のすべてが展開またはサーバー構成用である必要があるということです。この場合、設定がアプリケーションの動作を変更しているように見えるので、それほど手間がかからなければ、おそらくそれらを DB に移動します。

于 2008-10-21T21:14:01.370 に答える
1

ModuleA と ModuleC は、ユーザー プロファイル情報である可能性があるように聞こえます。それらがユーザーごとに動的ではないが、後で機能を追加できる場合は、それらをDBに移動してください。

ModuleB が DB にも配置されるアプリを作成しました。フォーム ラベルなどは、DB に簡単に入れることができます。後日、誰かがすべてのフォーム ラベルにコロンを追加または削除することを決定した場合、すべてのテキストが DB に格納されていれば、それは非常に簡単です。

于 2008-10-21T21:14:09.187 に答える
1

値の 1 つを編集する必要がある状況を考えてみましょう。

値が web.config にある場合、そのファイルへの変更を保存すると、アプリがリサイクルされ、不便なことに現在のユーザーが破棄されます。アプリが営業時間内にのみ使用されるイントラネット上にある場合は、それほど問題にはなりません (遅くまで仕事をしていた人から怒った電話を受ける可能性はありますが)。しかし、国際的なユーザーがいる公開 Web サイトでは問題になる可能性があります。

値がデータベースにある場合、そのような方法でアプリの処理に影響を与えることはありません。

いずれにせよ、値がアプリの RAM にキャッシュされているかどうかを検討してください (web.config はキャッシュされています)。データベースの値はアプリケーション変数またはキャッシュにありますか? その場合、変更がいつ発生するかわからない可能性があります。アプリを再起動したくない場合を除きます。

また、適切な管理者が変更を加えるには、どのようなアクセス権と権限が必要ですか? web.config を変更するには Web サーバーにアクセスする必要があり、それを変更するにはデータベース (およびテーブル) にアクセスする必要があります。

于 2008-10-21T21:15:29.043 に答える
0

いくつかの質問:アプリケーションの複数のインスタンスに同じDBを使用するのはなぜですか?それはメンテナンスにどのように影響しますか?将来的には、パフォーマンスを向上させるためにデータベースを分割するオプションがありますか?構成モデルは、DBベースのものよりも優れた変更をサポートしていますか?

言い換えれば、あなたはあなたの質問に答えるためにたくさんの変数を考慮しなければならないでしょう:-)

于 2008-10-21T21:29:38.000 に答える