- PR -

【ASP.NET(VB.NET)】DBから読み込んだマスタデータの保持の仕方

1
投稿者投稿内容
haruka
常連さん
会議室デビュー日: 2003/12/09
投稿数: 36
投稿日時: 2003-12-09 18:02
遥@初心者といいます。初投稿です。
ASP.NET(VB.NET)をはじめて2Weeksぐらいです。
正直、WebアプリケーションはDominoでしかつくったことありません。
いまだに、ぴ〜んとこない部分もあります。。。が宜しくお願いします。

質問があります。
データベースからマスタ関連のデータ(更新されることのないデータ、
例えば、元号マスタ、単位マスタ、分類マスタ等々)を1回取得
したとします。
まず更新されることないこれらのマスタは2回目以降、データベース
から読み込む必要がないと思いますが、
1回読み込んだデータはどのように保持するのが望ましいでしょうか?
また、どのように保持したら良いでしょうか?教えてください。

セッション・オブジェクト、アプリケーション・オブジェクト?
それとも、クライアントの隠しフィールドでしょうか?

■環境■
OS:Win2000AdvancedServer、IIS5.0
RDBMS:Oracle8.1.7
Client:IE6.0
cats
大ベテラン
会議室デビュー日: 2002/11/29
投稿数: 221
お住まい・勤務地: 東京
投稿日時: 2003-12-09 18:08
(1)アプリケーションオブジェクト
(2)staticメンバ
どちらでもいいんじゃないでしょうか。
取得関数を用意するといいかも。
コード:
public static object Instance() {
  object o = Application["key"];
  if (o == null) {
    o = ...
    Application["key"] = o;
  }
  return o;
}

なちゃ
ぬし
会議室デビュー日: 2003/06/11
投稿数: 872
投稿日時: 2003-12-10 00:39
引用:

harukaさんの書き込み (2003-12-09 18:02) より:
1回読み込んだデータはどのように保持するのが望ましいでしょうか?
また、どのように保持したら良いでしょうか?教えてください。

セッション・オブジェクト、アプリケーション・オブジェクト?
それとも、クライアントの隠しフィールドでしょうか?
IE6.0


キャッシュを使うのがよろしいかと…

ま、別にアプリケーションや静的なフィールドでも問題ないですが。
# 有効期限を管理するような使い方をする場合はキャッシュがいいと思いますが、
# 更新がないデータであれば特に必要はないと思います。

データ量にも依りますが、クライアントの隠しフィールド、セッションはまあ目的からいってあまり適切ではないと思います。
1

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