- PR -

システム設定の保存場所

1
投稿者投稿内容
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2004-02-12 13:33
お世話になっております。
現在、ASP.NETでWebシステムを開発しております。
そこで意見をお聞きしたいのですが。
システムの共通の設定情報はどこに保存しておくのがベストなのでしょうか?

システムの共通の設定情報とは例えば、システムが使用するメールサーバーの情報などです。
それらの情報はシステムで一意の情報ですが、メンテナンスアプリから更新できる仕様です。
現在のところDBに格納しておこうと思っているのですが、そのテーブルには常に1レコードしか
存在しないことになるので、ちょっと違和感が。。。









Beatle
ぬし
会議室デビュー日: 2003/06/09
投稿数: 394
投稿日時: 2004-02-12 14:17
引用:

burton999さんの書き込み (2004-02-12 13:33) より:
お世話になっております。
現在、ASP.NETでWebシステムを開発しております。
そこで意見をお聞きしたいのですが。
システムの共通の設定情報はどこに保存しておくのがベストなのでしょうか?




ベストというのは難しいでしょうね。よりベターかというぐらいで。
はっきり言えばケースバイケースのところもあります。例えば、今回はメールサーバー
で関係無いかもしれませんが、DBサーバーのアドレスやDB名等をDBに格納
してもしかたありませんね。DB以外でもレジストリやiniファイル、単なるテキスト
ファイル、他にもインタープリタ型の言語では、パブリック(グローバル)な定数
宣言部だけ切り出したファイル等状況により様々です。(C/SのときはOSのフォルダ
直下にiniファイルを作ったり、レジストリに書くのが流行ってました。)

ただ、共通項目は他にもありませんか?
アプリケーションの中の共通項目なんてわんさかあると思うのですが...たとえば
デフォルト値とか、フラグ系の名称とか、メッセージとか...私が設計すする場合
大抵、名称マスタとかシステムマスタのようなテーブルにこのあたりのコードを体系化
して登録したりしてます。(もちろんDB以外にもiniファイルに格納する場合もありま
す。)
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2004-02-12 14:36
アプリケーション構成ファイル(web.config)に書いておくのはどうですか。

ConfigurationSettingsクラスを使ってみてください。
ゆうじゅん
ぬし
会議室デビュー日: 2004/01/16
投稿数: 347
投稿日時: 2004-02-12 14:42
DBに保存するにしても

[カテゴリ]
[キー]
[キー値]
[説明]

という風に設計しておくば共通項目が増えても対応しやすいと思いますよ

(追加)
Beatleさんとかぶってましたね

[ メッセージ編集済み 編集者: ゆうじゅん 編集日時 2004-02-12 14:44 ]
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2004-02-12 18:15
Beatle様のおっしゃるとおり
やはりベストっていうのは難しいですね。
DB、アプリケーション構成ファイル、iniファイル
の選択肢の中から、よく検討して決めたいと思います。
みなさま、貴重なご意見をありがとうございました。


Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2004-02-12 18:34
 他のところでも書いたけど、私は、Win32APIでAll Users/Application Dataを取ってきて、アセンブリから会社名とプロジェクト名を追加して、XMLシリアライズ。
1

スキルアップ/キャリアアップ(JOB@IT)